range (C++)

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

Specifies a range of allowable values for arguments or fields whose values are set at run time.

  
      [ range(  
   low,   
   high  
) ]  

Parameters

low
The low range value.

high
The high range value.

The range C++ attribute has the same functionality as the range MIDL attribute.

// cpp_attr_ref_range.cpp  
// compile with: /LD  
#include <unknwn.h>  
[module(name="MyLib")];  
  
[object, uuid("9E66A290-4365-11D2-A997-00C04FA37DDB")]  
__interface ICustom {  
   HRESULT Custom([in] long l, [out, retval] long *pLong);  
   HRESULT length_is1([in, range(0, 999)] long f, [in, length_is(f)] char array[10]);  
   HRESULT length_is2([in, range(-99, -1)] long f, [in, length_is("f"), size_is(10)] char *array);  
};  

Attribute Context

Applies toInterface method, interface parameter
RepeatableNo
Required attributesNone
Invalid attributesNone

For more information about the attribute contexts, see Attribute Contexts.

IDL Attributes
Method Attributes
Parameter Attributes
Data Member Attributes
Attributes Samples

Show: