| 
    Simbody
    3.8
    
   | 
 
Concrete templatized class derived from AbstractValue, adding generic value type-specific functionality, with implicit conversion to the underlying type T.  
 More...
 Inheritance diagram for SimTK::Value< T >:Public Member Functions | |
| Value () | |
Creates a Value<T> whose contained object of type T has been default constructed.  More... | |
| Value (const T &value) | |
Creates a Value<T> whose contained object is copy constructed from the given value.  More... | |
| Value (const T &&value) | |
Creates a Value<T> whose contained object is move constructed from the given value.  More... | |
| ~Value ()=default | |
| Value (const Value &value) | |
Copy constructor invokes the type T copy constructor to copy the contained value.  More... | |
| Value (const Value &&value) | |
Move constructor invokes the type T move constructor, if available, to move the given value into this Value<T> object.  More... | |
| Value & | operator= (const Value &value) | 
The copy assignment here invokes type T copy assignment on the contained object, it does not invoke AbstractValue's copy assignment.  More... | |
| Value & | operator= (const Value &&value) | 
The move assignment here invokes type T move assignment on the contained object, it does not invoke AbstractValue's move assignment.  More... | |
| Value & | operator= (const T &value) | 
Assign a new value to the contained object, using the type T copy assignment operator.  More... | |
| Value & | operator= (const T &&value) | 
Assign a new value to the contained object, using the type T move assignment operator, if available.  More... | |
| const T & | get () const | 
Return a const reference to the object of type T that is contained in this Value<T> object.  More... | |
| T & | upd () | 
Return a writable reference to the object of type T that is contained in this Value object.  More... | |
| void | set (const T &value) | 
Assign the contained object to the given value by invoking the type T copy assignment operator.  More... | |
| void | set (const T &&value) | 
Assign the contained object to the given value by invoking the type T move assignment operator, if available.  More... | |
| operator const T & () const | |
Implicit conversion from a const reference to a Value<T> object to a const reference to the type T object it contains.  More... | |
| operator T& () | |
Implicit conversion from a writable reference to a Value object to a writable reference to the type T object it contains.  More... | |
| Value * | clone () const override | 
| Covariant implementation of the AbstractValue::clone() method.  More... | |
| bool | isCompatible (const AbstractValue &value) const override | 
| Test whether a given AbstractValue is assignment-compatible with this Value object.  More... | |
| void | compatibleAssign (const AbstractValue &value) override | 
| If the given AbstractValue is assignment-compatible, perform the assignment.  More... | |
| String | getTypeName () const override | 
Use NiceTypeName to produce a human-friendly representation of the type T.  More... | |
| String | getValueAsString () const override | 
(Not implemented yet) Produce a human-friendly representation of the contained value of type T.  More... | |
  Public Member Functions inherited from SimTK::AbstractValue | |
| AbstractValue & | operator= (const AbstractValue &v) | 
| Invokes the compatibleAssign() method which will perform the assignment if the source object is compatible, or throw an exception otherwise.  More... | |
| template<typename T > | |
| const T & | getValue () const | 
Retrieve the original (type-erased)thing as read-only.  More... | |
| template<typename T > | |
| T & | updValue () | 
Retrieve the original (type-erased)thing as read-write.  More... | |
| virtual | ~AbstractValue () | 
Static Public Member Functions | |
| static bool | isA (const AbstractValue &value) | 
Return true if the given AbstractValue is an object of this type Value<T>.  More... | |
| static const Value & | downcast (const AbstractValue &value) | 
Downcast a const reference to an AbstractValue to a const reference to this type Value<T>.  More... | |
| static Value & | updDowncast (AbstractValue &value) | 
Downcast a writable reference to an AbstractValue to a writable reference to this type Value<T>.  More... | |
| static Value & | downcast (AbstractValue &value) | 
| Deprecated – use updDowncast() instead.  More... | |
Additional Inherited Members | |
  Related Functions inherited from SimTK::AbstractValue | |
| std::ostream & | operator<< (std::ostream &o, const AbstractValue &v) | 
| Write a human-readable representation of an AbstractValue to an output stream, using the getValueAsString() member function.  More... | |
Concrete templatized class derived from AbstractValue, adding generic value type-specific functionality, with implicit conversion to the underlying type T. 
      
  | 
  inline | 
Creates a Value<T> whose contained object of type T has been default constructed. 
      
  | 
  inlineexplicit | 
Creates a Value<T> whose contained object is copy constructed from the given value. 
      
  | 
  inlineexplicit | 
Creates a Value<T> whose contained object is move constructed from the given value. 
If type T doesn't provide a move constructor then this is copy constructed. 
      
  | 
  default | 
      
  | 
  inline | 
Copy constructor invokes the type T copy constructor to copy the contained value. 
      
  | 
  inline | 
Move constructor invokes the type T move constructor, if available, to move the given value into this Value<T> object. 
      
  | 
  inline | 
The copy assignment here invokes type T copy assignment on the contained object, it does not invoke AbstractValue's copy assignment. 
      
  | 
  inline | 
The move assignment here invokes type T move assignment on the contained object, it does not invoke AbstractValue's move assignment. 
If type T doesn't provide move assignment then copy assignment is used instead. 
      
  | 
  inline | 
Assign a new value to the contained object, using the type T copy assignment operator. 
      
  | 
  inline | 
Assign a new value to the contained object, using the type T move assignment operator, if available. 
      
  | 
  inline | 
Return a const reference to the object of type T that is contained in this Value<T> object. 
There is also an implicit conversion that performs the same function.
      
  | 
  inline | 
Return a writable reference to the object of type T that is contained in this Value object. 
There is also an implicit conversion that performs the same function.
      
  | 
  inline | 
Assign the contained object to the given value by invoking the type T copy assignment operator. 
      
  | 
  inline | 
Assign the contained object to the given value by invoking the type T move assignment operator, if available. 
      
  | 
  inline | 
      
  | 
  inline | 
Implicit conversion from a writable reference to a Value object to a writable reference to the type T object it contains. 
This is identical to the upd() method.
      
  | 
  inlineoverridevirtual | 
Covariant implementation of the AbstractValue::clone() method.
(Covariant means that the return type has been changed to the derived type.)
Implements SimTK::AbstractValue.
      
  | 
  inlineoverridevirtual | 
Test whether a given AbstractValue is assignment-compatible with this Value object.
Currently this only returns true if the source is exactly the same type as this.
Implements SimTK::AbstractValue.
      
  | 
  inlineoverridevirtual | 
If the given AbstractValue is assignment-compatible, perform the assignment.
Otherwise, throw an exception (at least in a Debug build).
Implements SimTK::AbstractValue.
      
  | 
  inlineoverridevirtual | 
Use NiceTypeName to produce a human-friendly representation of the type T. 
Implements SimTK::AbstractValue.
      
  | 
  inlineoverridevirtual | 
(Not implemented yet) Produce a human-friendly representation of the contained value of type T. 
Currently just returns the type name.
Implements SimTK::AbstractValue.
      
  | 
  inlinestatic | 
Return true if the given AbstractValue is an object of this type Value<T>. 
      
  | 
  inlinestatic | 
Downcast a const reference to an AbstractValue to a const reference to this type Value<T>. 
A std::bad_cast exception is thrown if the type is wrong, at least in Debug builds.
      
  | 
  inlinestatic | 
Downcast a writable reference to an AbstractValue to a writable reference to this type Value<T>. 
A std::bad_cast exception is thrown if the type is wrong, at least in Debug builds.
      
  | 
  inlinestatic | 
Deprecated – use updDowncast() instead.