51 #ifndef ITER_QUANITY_ACCESS_CONTIGUOUS_DECL_H
52 #define ITER_QUANITY_ACCESS_CONTIGUOUS_DECL_H
57 #include "IterationPack_IterQuantityAccess.hpp"
58 #include "Teuchos_AbstractFactoryStd.hpp"
60 namespace IterationPack {
85 template<
class T_info>
116 ,
const std::string&
name
142 void resize(
int num_quantities );
163 const char*
name()
const;
187 T_info&
get_k(
int offset);
189 const T_info&
get_k(
int offset)
const;
191 T_info&
set_k(
int offset);
193 T_info&
set_k(
int set_offset,
int get_offset);
203 typedef std::vector<bool> updated_t;
205 typedef std::vector<typename abstract_factory_ptr_t::element_type::obj_ptr_t> store_t;
207 typedef std::vector<T_info*> quantities_t;
231 quantities_t quantities_;
237 bool is_initialized()
const;
241 void lazy_initialization();
256 template <
class T_info>
260 return num_quantities_;
265 #endif // ITER_QUANITY_ACCESS_CONTIGUOUS_DECL_H
void resize(int num_quantities)
Resize the number of contiguous storage locations.
Interface to typed iteration quantities.
int num_quantities() const
Return the number of continous storage locations.
T_info & set_k(int offset)
void set_factory(const abstract_factory_ptr_t &abstract_factory)
Set the abstract factory to use to allocate storate.
bool will_loose_mem(int offset, int set_offset) const
void set_all_not_updated()
bool updated_k(int offset) const
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
void set_not_updated_k(int offset)
Iterface for information about Iteration Quantities.
bool has_storage_k(int offset) const
void print_concrete_type(std::ostream &out) const
Iteration Quanities subclass for contiguous iterations.
const char * name() const
~IterQuantityAccessContiguous()
IterQuantity * clone() const
Teuchos::AbstractFactoryStd< T_info, T_info > abstract_factory_std_t
T_info & get_k(int offset)
IterQuantityAccess< T_info > base_t
Teuchos::RCP< const Teuchos::AbstractFactory< T_info > > abstract_factory_ptr_t