Home | History | Annotate | Download | only in win

Lines Matching full:variant

17 // Scoped VARIANT class for automatically freeing a COM VARIANT at the
19 // encapsulated VARIANT easier to use.
20 // Instead of inheriting from VARIANT, we take the containment approach
21 // in order to have more control over the usage of the variant and guard
25 // Declaration of a global variant variable that's always VT_EMPTY
26 static const VARIANT kEmptyVariant;
34 // Constructor to create a new VT_BSTR VARIANT.
39 // Creates a new VT_BSTR variant of a specified length.
42 // Creates a new integral type variant and assigns the value to
43 // VARIANT.lVal (32 bit sized field).
46 // Creates a new double-precision type variant. |vt| must be either VT_R8
59 // Copies the variant.
60 explicit ScopedVariant(const VARIANT& var);
68 // Give ScopedVariant ownership over an already allocated VARIANT.
69 void Reset(const VARIANT& var = kEmptyVariant);
71 // Releases ownership of the VARIANT to the caller.
72 VARIANT Release();
77 // Returns a copy of the variant.
78 VARIANT Copy() const;
82 int Compare(const VARIANT& var, bool ignore_case = false) const;
85 // Used to receive a VARIANT as an out argument (and take ownership).
88 VARIANT* Receive();
108 void Set(const VARIANT& var);
121 // Allows const access to the contained variant without DCHECKs etc.
125 const VARIANT* operator&() const {
131 ScopedVariant& operator=(const VARIANT& var);
133 // A hack to pass a pointer to the variant where the accepting
134 // function treats the variant as an input-only, read-only value
135 // but the function prototype requires a non const variant pointer.
137 VARIANT* AsInput() const {
140 return const_cast<VARIANT*>(&var_);
145 operator const VARIANT&() const {
153 VARIANT var_;