Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Hydra Core Library Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

rwsf::Attribute

Group:  General


rwsf::Attribute rwsf::HandleBase

Local Index

Members

Non-Members

Header File

#include <rwsf/core/Attribute.h>

Description

rwsf::Attribute provides a wrapper around objects of any type. rwsf::Attribute contains a single object by value. The contained object must provide a default constructor, a copy constructor, and an assignment operator. The copy constructor must not invalidate the original object. The class provides an inserter template to copy values into an instance and an extractor template to copy values out of an instance.

An instance of rwsf::Attribute is the value of the key/value pair in several Hydra Core and Web Services Fabrication classes, such as rwsf::CallInfo and rwsf::NamedObject.

rwsf::Attribute makes use of the handle/body idiom in which rwsf::Attribute is the handle, and rwsf::AttributeImp<T> is the body.

Templatized insertion and extraction operators are provided for moving typed objects into and out of an rwsf::Attribute instance.

Public Enumerations

enum 
Lifetime { Transient = 1,
           Persistent = 2
         };

Public Constructors

Attribute(Lifetime l = Transient);
Attribute(const Attribute& rhs);

Public Destructor

virtual
~Attribute();

Public Member Functions

bool 
isTransient() const;
void 
setTransient(bool isTransient);
template<class T>
static T&
value(Attribute& attr);
template <class T>
static const T&
value(const Attribute& attr);

Public Assignment Operator

Attribute& 
operator=(const Attribute& rhs);

Related Global Operators

template<class T>
void
operator<<(Attribute& attr, const T& value);
template<class T>
void
operator>>(const Attribute& attr, T& value);


Previous fileTop of DocumentContentsIndex pageNext file

©2004-2007 Copyright Quovadx, Inc. All Rights Reserved.
Quovadx and Rogue Wave are registered trademarks and HydraSDO is a trademark of Quovadx, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.