k3d::data::value_demand_storage< value_t, signal_policy_t > Class Template Reference

Storage policy that computes a value on-demand. More...

#include <value_demand_storage.h>

List of all members.

Public Types

typedef value_demand_storage
< value_t, signal_policy_t > 
this_t
typedef std::vector< ihint * > pending_hints_t

Public Member Functions

void set_update_slot (const sigc::slot< void, const pending_hints_t &, value_t & > &Slot)
 Set the slot that will be called to bring the underlying data up-to-date.
sigc::slot< void, ihint * > make_slot ()
 Returns a slot that will invoke the update() method.
void update (ihint *const Hint=0)
 Schedule an update for the value the next time it's read.
const value_t & internal_value ()
 Accesses the underlying data, updating it if necessary.

Protected Member Functions

template<typename init_t >
 value_demand_storage (const init_t &Init)
 ~value_demand_storage ()

Private Member Functions

 BOOST_STATIC_ASSERT ((!boost::is_pointer< value_t >::value))

Private Attributes

value_t m_value
 Storage for this policy's value.
sigc::slot< void, const
pending_hints_t &, value_t & > 
m_update_slot
 Stores a slot that will be called to bring this policy's value up-to-date.
pending_hints_t m_pending_hints
 Stores a collection of pending hints to be updated.

Detailed Description

template<typename value_t, typename signal_policy_t>
class k3d::data::value_demand_storage< value_t, signal_policy_t >

Storage policy that computes a value on-demand.


Member Typedef Documentation

template<typename value_t , typename signal_policy_t >
typedef std::vector<ihint*> k3d::data::value_demand_storage< value_t, signal_policy_t >::pending_hints_t
template<typename value_t , typename signal_policy_t >
typedef value_demand_storage<value_t, signal_policy_t> k3d::data::value_demand_storage< value_t, signal_policy_t >::this_t

Constructor & Destructor Documentation

template<typename value_t , typename signal_policy_t >
template<typename init_t >
k3d::data::value_demand_storage< value_t, signal_policy_t >::value_demand_storage ( const init_t &  Init  )  [inline, protected]
template<typename value_t , typename signal_policy_t >
k3d::data::value_demand_storage< value_t, signal_policy_t >::~value_demand_storage (  )  [inline, protected]

Member Function Documentation

template<typename value_t , typename signal_policy_t >
k3d::data::value_demand_storage< value_t, signal_policy_t >::BOOST_STATIC_ASSERT ( (!boost::is_pointer< value_t >::value)   )  [private]
template<typename value_t , typename signal_policy_t >
const value_t& k3d::data::value_demand_storage< value_t, signal_policy_t >::internal_value (  )  [inline]
template<typename value_t , typename signal_policy_t >
sigc::slot<void, ihint*> k3d::data::value_demand_storage< value_t, signal_policy_t >::make_slot (  )  [inline]

Returns a slot that will invoke the update() method.

References k3d::data::value_demand_storage< value_t, signal_policy_t >::update().

template<typename value_t , typename signal_policy_t >
void k3d::data::value_demand_storage< value_t, signal_policy_t >::set_update_slot ( const sigc::slot< void, const pending_hints_t &, value_t & > &  Slot  )  [inline]
template<typename value_t , typename signal_policy_t >
void k3d::data::value_demand_storage< value_t, signal_policy_t >::update ( ihint *const   Hint = 0  )  [inline]

Member Data Documentation

template<typename value_t , typename signal_policy_t >
pending_hints_t k3d::data::value_demand_storage< value_t, signal_policy_t >::m_pending_hints [private]
template<typename value_t , typename signal_policy_t >
sigc::slot<void, const pending_hints_t&, value_t&> k3d::data::value_demand_storage< value_t, signal_policy_t >::m_update_slot [private]
template<typename value_t , typename signal_policy_t >
value_t k3d::data::value_demand_storage< value_t, signal_policy_t >::m_value [private]

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

Generated on Mon Mar 21 07:42:20 2011 for K-3D by doxygen 1.6.3