Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Valid

The Valid property specifies whether a value satisfies the validity constraints of its type. This property is allowed on Pre and Post attributes and can be used on any data types.

The Valid property must be set using one of the following values:

  • SA_Yes - the value is valid.

  • SA_No - the value is not valid.

  • SA_Maybe - the value might be valid.

The validity constraints for the various built-in types are as follows:

  • Integral and floating-point types – the value has been initialized, that is, it does not contain invalid data.

  • Bool – the value is either True or False.

  • Pointer types – the pointer is either NULL or points to an accessible memory location. The value at the location pointed to by the pointer is not necessarily valid. The validity of that value is determined by the value of the Valid property for the level of dereference one greater than that of the pointer value.

  • Reference types – same as pointer types, except that a reference type cannot be NULL.

The following code shows how to use the Valid property:

// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Valid=SA_Yes) ] char *pc);

// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Valid=Yes) ] char *pc);

Community Additions

ADD
Show:
© 2015 Microsoft