LLSD::Impl Class Reference

List of all members.

Public Member Functions

virtual ImplMap & makeMap (Impl *&var)
virtual ImplArray & makeArray (Impl *&var)
 sure var is a modifiable, non-shared map or array
virtual LLSD::Type type () const
virtual void assign (Impl *&var, LLSD::Boolean)
virtual void assign (Impl *&var, LLSD::Integer)
virtual void assign (Impl *&var, LLSD::Real)
virtual void assign (Impl *&var, const LLSD::String &)
virtual void assign (Impl *&var, const LLSD::UUID &)
virtual void assign (Impl *&var, const LLSD::Date &)
virtual void assign (Impl *&var, const LLSD::URI &)
virtual void assign (Impl *&var, const LLSD::Binary &)
 If the receiver is the right type and unshared, these are simple.
virtual Boolean asBoolean () const
virtual Integer asInteger () const
virtual Real asReal () const
virtual String asString () const
virtual UUID asUUID () const
virtual Date asDate () const
virtual URI asURI () const
virtual Binary asBinary () const
virtual bool has (const String &) const
virtual LLSD get (const String &) const
virtual void erase (const String &)
virtual const LLSDref (const String &) const
virtual int size () const
virtual LLSD get (Integer) const
virtual void erase (Integer)
virtual const LLSDref (Integer) const
virtual LLSD::map_const_iterator beginMap () const
virtual LLSD::map_const_iterator endMap () const
virtual LLSD::array_const_iterator beginArray () const
virtual LLSD::array_const_iterator endArray () const

Static Public Member Functions

static void reset (Impl *&var, Impl *impl)
 safely set var to refer to the new impl (possibly shared)
static Implsafe (Impl *)
static const Implsafe (const Impl *)
 since a NULL Impl* is used for undefined, this ensures there is
static void assignUndefined (LLSD::Impl *&var)
static void assign (LLSD::Impl *&var, const LLSD::Impl *other)
static const LLSDundef ()

Static Public Attributes

static U32 sAllocationCount = 0
static U32 sOutstandingCount = 0

Protected Types

 STATIC
enum  StaticAllocationMarker { STATIC }

Protected Member Functions

 Impl ()
 Impl (StaticAllocationMarker)
 This constructor is used for static objects and causes the.
virtual ~Impl ()
bool shared () const

Private Attributes

U32 mUseCount

Detailed Description

< This class is the abstract base class of the implementation of LLSD It provides the reference counting implementation, and the default implementation of most methods for most data types. It also serves as a working implementation of the Undefined type.

Definition at line 44 of file llsd.cpp.


Member Enumeration Documentation

enum LLSD::Impl::StaticAllocationMarker [protected]

Enumerator:
STATIC 

Definition at line 58 of file llsd.cpp.


Constructor & Destructor Documentation

LLSD::Impl::Impl (  )  [protected]

Definition at line 519 of file llsd.cpp.

References sAllocationCount, and sOutstandingCount.

LLSD::Impl::Impl ( StaticAllocationMarker   )  [protected]

This constructor is used for static objects and causes the.

Definition at line 526 of file llsd.cpp.

LLSD::Impl::~Impl (  )  [protected, virtual]

Definition at line 531 of file llsd.cpp.

References sOutstandingCount.


Member Function Documentation

virtual Binary LLSD::Impl::asBinary (  )  const [inline, virtual]

Definition at line 105 of file llsd.cpp.

Referenced by LLSD::asBinary().

virtual Boolean LLSD::Impl::asBoolean (  )  const [inline, virtual]

Definition at line 98 of file llsd.cpp.

Referenced by LLSD::asBoolean().

virtual Date LLSD::Impl::asDate (  )  const [inline, virtual]

Definition at line 103 of file llsd.cpp.

Referenced by LLSD::asDate().

virtual Integer LLSD::Impl::asInteger (  )  const [inline, virtual]

Definition at line 99 of file llsd.cpp.

Referenced by LLSD::asInteger().

virtual Real LLSD::Impl::asReal (  )  const [inline, virtual]

Definition at line 100 of file llsd.cpp.

Referenced by LLSD::asReal().

void LLSD::Impl::assign ( Impl *&  var,
const LLSD::Binary  
) [virtual]

If the receiver is the right type and unshared, these are simple.

Definition at line 618 of file llsd.cpp.

References reset().

void LLSD::Impl::assign ( Impl *&  var,
const LLSD::URI  
) [virtual]

Definition at line 613 of file llsd.cpp.

References reset(), and v.

void LLSD::Impl::assign ( Impl *&  var,
const LLSD::Date  
) [virtual]

Definition at line 608 of file llsd.cpp.

References reset(), and v.

void LLSD::Impl::assign ( Impl *&  var,
const LLSD::UUID  
) [virtual]

Definition at line 603 of file llsd.cpp.

References reset(), and v.

void LLSD::Impl::assign ( Impl *&  var,
const LLSD::String  
) [virtual]

Definition at line 598 of file llsd.cpp.

References reset().

void LLSD::Impl::assign ( Impl *&  var,
LLSD::Real   
) [virtual]

Definition at line 593 of file llsd.cpp.

References reset().

void LLSD::Impl::assign ( Impl *&  var,
LLSD::Integer   
) [virtual]

Definition at line 588 of file llsd.cpp.

References reset().

void LLSD::Impl::assign ( Impl *&  var,
LLSD::Boolean   
) [virtual]

Definition at line 583 of file llsd.cpp.

References reset().

void LLSD::Impl::assign ( LLSD::Impl *&  var,
const LLSD::Impl other 
) [static]

Definition at line 573 of file llsd.cpp.

References reset().

Referenced by LLSD::assign().

void LLSD::Impl::assignUndefined ( LLSD::Impl *&  var  )  [static]

Definition at line 578 of file llsd.cpp.

References reset().

Referenced by LLSD::clear().

virtual String LLSD::Impl::asString (  )  const [inline, virtual]

Definition at line 101 of file llsd.cpp.

Referenced by LLSD::asString().

virtual URI LLSD::Impl::asURI (  )  const [inline, virtual]

Definition at line 104 of file llsd.cpp.

Referenced by LLSD::asURI().

virtual UUID LLSD::Impl::asUUID (  )  const [inline, virtual]

Definition at line 102 of file llsd.cpp.

Referenced by LLSD::asUUID().

virtual LLSD::array_const_iterator LLSD::Impl::beginArray (  )  const [inline, virtual]

Definition at line 119 of file llsd.cpp.

Referenced by LLSD::beginArray().

virtual LLSD::map_const_iterator LLSD::Impl::beginMap (  )  const [inline, virtual]

Definition at line 117 of file llsd.cpp.

Referenced by LLSD::beginMap().

virtual LLSD::array_const_iterator LLSD::Impl::endArray (  )  const [inline, virtual]

Definition at line 120 of file llsd.cpp.

Referenced by LLSD::endArray().

virtual LLSD::map_const_iterator LLSD::Impl::endMap (  )  const [inline, virtual]

Definition at line 118 of file llsd.cpp.

Referenced by LLSD::endMap().

virtual void LLSD::Impl::erase ( Integer   )  [inline, virtual]

Definition at line 114 of file llsd.cpp.

virtual void LLSD::Impl::erase ( const String  )  [inline, virtual]

Definition at line 109 of file llsd.cpp.

virtual LLSD LLSD::Impl::get ( Integer   )  const [inline, virtual]

Definition at line 113 of file llsd.cpp.

References LLSD::LLSD().

virtual LLSD LLSD::Impl::get ( const String  )  const [inline, virtual]

Definition at line 108 of file llsd.cpp.

References LLSD::LLSD().

Referenced by LLSD::get().

virtual bool LLSD::Impl::has ( const String  )  const [inline, virtual]

Definition at line 107 of file llsd.cpp.

Referenced by LLSD::has().

ImplArray & LLSD::Impl::makeArray ( Impl *&  var  )  [virtual]

sure var is a modifiable, non-shared map or array

Definition at line 565 of file llsd.cpp.

References reset().

Referenced by makeArray().

ImplMap & LLSD::Impl::makeMap ( Impl *&  var  )  [virtual]

Definition at line 558 of file llsd.cpp.

References reset().

Referenced by makeMap().

virtual const LLSD& LLSD::Impl::ref ( Integer   )  const [inline, virtual]

Definition at line 115 of file llsd.cpp.

References undef().

virtual const LLSD& LLSD::Impl::ref ( const String  )  const [inline, virtual]

Definition at line 110 of file llsd.cpp.

References undef().

Referenced by LLSD::operator[]().

void LLSD::Impl::reset ( Impl *&  var,
Impl impl 
) [static]

safely set var to refer to the new impl (possibly shared)

Definition at line 536 of file llsd.cpp.

References LLSD::impl, and mUseCount.

Referenced by assign(), assignUndefined(), makeArray(), makeMap(), and LLSD::~LLSD().

const LLSD::Impl & LLSD::Impl::safe ( const Impl  )  [static]

since a NULL Impl* is used for undefined, this ensures there is

Definition at line 552 of file llsd.cpp.

References LLSD::impl, and STATIC.

LLSD::Impl & LLSD::Impl::safe ( Impl  )  [static]

Definition at line 546 of file llsd.cpp.

References LLSD::impl, and STATIC.

Referenced by safe().

bool LLSD::Impl::shared (  )  const [inline, protected]

Definition at line 66 of file llsd.cpp.

References mUseCount.

virtual int LLSD::Impl::size (  )  const [inline, virtual]

Definition at line 112 of file llsd.cpp.

Referenced by LLSD::size().

virtual LLSD::Type LLSD::Impl::type (  )  const [inline, virtual]

Definition at line 81 of file llsd.cpp.

References LLSD::TypeUndefined.

Referenced by LLSD::type().

const LLSD & LLSD::Impl::undef (  )  [static]

Definition at line 624 of file llsd.cpp.

Referenced by ref().


Member Data Documentation

U32 LLSD::Impl::mUseCount [private]

Definition at line 53 of file llsd.cpp.

Referenced by reset(), and shared().

U32 LLSD::Impl::sAllocationCount = 0 [static]

Definition at line 124 of file llsd.cpp.

Referenced by LLSD::allocationCount(), and Impl().

U32 LLSD::Impl::sOutstandingCount = 0 [static]

Definition at line 125 of file llsd.cpp.

Referenced by Impl(), LLSD::outstandingCount(), and ~Impl().


The documentation for this class was generated from the following file:
Generated on Thu Jul 1 06:11:45 2010 for Second Life Viewer by  doxygen 1.4.7