Skip to content

Latest commit

 

History

History
63 lines (47 loc) · 1.51 KB

range-cpp.md

File metadata and controls

63 lines (47 loc) · 1.51 KB
description title ms.date f1_keywords helpviewer_keywords ms.assetid
Learn more about: range (C++)
range (C++ COM Attribute)
10/02/2018
vc-attr.range
range attribute
f352f79e-ecb3-4cdd-9cdd-8406ef473594

range (C++)

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

Syntax

[ range(low, high) ]

Parameters

low
The low range value.

high
The high range value.

Remarks

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

Example

// 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);
};

Requirements

Attribute context Value
Applies to Interface method, interface parameter
Repeatable No
Required attributes None
Invalid attributes None

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

See also

IDL Attributes
Method Attributes
Parameter Attributes
Data Member Attributes