LLSD::Impl Class Reference

Inheritance diagram for LLSD::Impl:

Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ImplMapmakeMap (Impl *&var)
virtual ImplArraymakeArray (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

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 57 of file llsd.cpp.


Member Enumeration Documentation

Enumerator:
STATIC 

Definition at line 71 of file llsd.cpp.


Constructor & Destructor Documentation

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

Definition at line 541 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 548 of file llsd.cpp.

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

Definition at line 553 of file llsd.cpp.

References sOutstandingCount.


Member Function Documentation

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

Definition at line 79 of file llsd.cpp.

Referenced by LLSDUnnamedNamespace::ImplArray::makeArray(), and LLSDUnnamedNamespace::ImplMap::makeMap().

Here is the caller graph for this function:

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

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

Definition at line 558 of file llsd.cpp.

References mUseCount.

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

Here is the caller graph for this function:

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

Definition at line 568 of file llsd.cpp.

References STATIC.

Referenced by LLSDUnnamedNamespace::makeArray(), LLSDUnnamedNamespace::makeMap(), and LLSDUnnamedNamespace::safe().

Here is the caller graph for this function:

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

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

Definition at line 574 of file llsd.cpp.

References STATIC.

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

Reimplemented in LLSDUnnamedNamespace::ImplMap.

Definition at line 580 of file llsd.cpp.

References reset().

Here is the call graph for this function:

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

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

Definition at line 587 of file llsd.cpp.

References reset().

Here is the call graph for this function:

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

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

Definition at line 600 of file llsd.cpp.

References reset().

Referenced by LLSD::clear().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 595 of file llsd.cpp.

References reset().

Referenced by LLSD::assign().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Reimplemented in LLSDUnnamedNamespace::ImplBase< LLSD::TypeBoolean, bool >.

Definition at line 605 of file llsd.cpp.

References reset().

Here is the call graph for this function:

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

Definition at line 610 of file llsd.cpp.

References reset().

Here is the call graph for this function:

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

Definition at line 615 of file llsd.cpp.

References reset().

Here is the call graph for this function:

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

Definition at line 620 of file llsd.cpp.

References reset().

Here is the call graph for this function:

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

Definition at line 625 of file llsd.cpp.

References reset().

Here is the call graph for this function:

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

Definition at line 630 of file llsd.cpp.

References reset().

Here is the call graph for this function:

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

Definition at line 635 of file llsd.cpp.

References reset().

Here is the call graph for this function:

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

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

Definition at line 640 of file llsd.cpp.

References reset().

Here is the call graph for this function:

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

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

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

Reimplemented in LLSDUnnamedNamespace::ImplBoolean, LLSDUnnamedNamespace::ImplInteger, LLSDUnnamedNamespace::ImplReal, LLSDUnnamedNamespace::ImplString, and LLSDUnnamedNamespace::ImplDate.

Definition at line 113 of file llsd.cpp.

Referenced by LLSD::asReal().

Here is the caller graph for this function:

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

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

Reimplemented in LLSDUnnamedNamespace::ImplString, and LLSDUnnamedNamespace::ImplUUID.

Definition at line 115 of file llsd.cpp.

Referenced by LLSD::asUUID().

Here is the caller graph for this function:

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

Reimplemented in LLSDUnnamedNamespace::ImplString, and LLSDUnnamedNamespace::ImplDate.

Definition at line 116 of file llsd.cpp.

Referenced by LLSD::asDate().

Here is the caller graph for this function:

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

Reimplemented in LLSDUnnamedNamespace::ImplString, and LLSDUnnamedNamespace::ImplURI.

Definition at line 117 of file llsd.cpp.

Referenced by LLSD::asURI().

Here is the caller graph for this function:

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

Reimplemented in LLSDUnnamedNamespace::ImplBinary.

Definition at line 118 of file llsd.cpp.

Referenced by LLSD::asBinary().

Here is the caller graph for this function:

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

Reimplemented in LLSDUnnamedNamespace::ImplMap.

Definition at line 120 of file llsd.cpp.

Referenced by LLSD::has().

Here is the caller graph for this function:

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

Reimplemented in LLSDUnnamedNamespace::ImplMap.

Definition at line 121 of file llsd.cpp.

Referenced by LLSD::get().

Here is the caller graph for this function:

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

Reimplemented in LLSDUnnamedNamespace::ImplMap.

Definition at line 122 of file llsd.cpp.

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

Reimplemented in LLSDUnnamedNamespace::ImplMap.

Definition at line 123 of file llsd.cpp.

References indra::base::llsd::undef.

Referenced by LLSD::operator[]().

Here is the caller graph for this function:

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

Reimplemented in LLSDUnnamedNamespace::ImplMap, and LLSDUnnamedNamespace::ImplArray.

Definition at line 125 of file llsd.cpp.

Referenced by LLSD::size().

Here is the caller graph for this function:

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

Reimplemented in LLSDUnnamedNamespace::ImplArray.

Definition at line 126 of file llsd.cpp.

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

Reimplemented in LLSDUnnamedNamespace::ImplArray.

Definition at line 127 of file llsd.cpp.

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

Reimplemented in LLSDUnnamedNamespace::ImplArray.

Definition at line 128 of file llsd.cpp.

References indra::base::llsd::undef.

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

Reimplemented in LLSDUnnamedNamespace::ImplMap.

Definition at line 130 of file llsd.cpp.

Referenced by LLSD::beginMap().

Here is the caller graph for this function:

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

Reimplemented in LLSDUnnamedNamespace::ImplMap.

Definition at line 131 of file llsd.cpp.

Referenced by LLSD::endMap().

Here is the caller graph for this function:

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

Reimplemented in LLSDUnnamedNamespace::ImplArray.

Definition at line 132 of file llsd.cpp.

Referenced by LLSD::beginArray().

Here is the caller graph for this function:

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

Reimplemented in LLSDUnnamedNamespace::ImplArray.

Definition at line 133 of file llsd.cpp.

Referenced by LLSD::endArray().

Here is the caller graph for this function:

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

Definition at line 646 of file llsd.cpp.

Referenced by LLSDUnnamedNamespace::ImplArray::ref(), and LLSDUnnamedNamespace::ImplMap::ref().

Here is the caller graph for this function:


Member Data Documentation

Definition at line 66 of file llsd.cpp.

Referenced by reset().

Definition at line 137 of file llsd.cpp.

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

Definition at line 138 of file llsd.cpp.

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


The documentation for this class was generated from the following file:

Generated on Fri May 16 09:03:31 2008 for SecondLife by  doxygen 1.5.5