18 #ifndef ACCESSORS_IMPL_HH_ 19 #define ACCESSORS_IMPL_HH_ 35 ASSERT_DBG(key_it->default_.is_obligatory() || key_it->default_.has_value_at_declaration())(key)
36 .error(
"You have to use Record::find instead.");
42 catch (Type::Record::ExcRecordKeyNotFound & e) {
45 catch (ExcTypeMismatch & e) {
46 e << EI_CPPRequiredType(
typeid(Ret).name()) << EI_KeyName(key);
49 catch (ExcStorageTypeMismatch &e) {
52 catch (ExcAccessorForNullStorage &e) {
60 inline const Ret
Record::val(
const string &key,
const Ret default_val )
const {
64 ASSERT_DBG(key_it->default_.has_value_at_read_time())(key).error(
"You have to use Record::val or Record::find instead.");
73 catch (Type::Record::ExcRecordKeyNotFound & e) {
76 catch (ExcTypeMismatch & e) {
77 e << EI_CPPRequiredType(
typeid(Ret).name()) << EI_KeyName(key);
80 catch (ExcStorageTypeMismatch &e) {
83 catch (ExcAccessorForNullStorage &e) {
97 catch (Type::Record::ExcRecordKeyNotFound & e) {
100 catch (ExcTypeMismatch & e) {
101 e << EI_CPPRequiredType(
typeid(Ret).name()) << EI_KeyName(key);
118 catch (Type::Record::ExcRecordKeyNotFound & e) {
121 catch (ExcTypeMismatch & e) {
122 e << EI_CPPRequiredType(
typeid(Ret).name()) << EI_KeyName(key);
134 template<
class Type,
class... Arguments>
144 template <
class ValueType>
149 catch (ExcTypeMismatch & e) {
150 e << EI_CPPRequiredType(
typeid(ValueType).name()) << EI_KeyName(
"begin()");
169 template <
class Container>
174 for(;it != end(); ++ it) {
190 {
return ! ( *
this == that ); }
194 inline IteratorBase::operator bool()
const {
196 return ( s && ! s->
is_null() );
232 ASSERT_PTR(new_address->storage_head()).error();
246 return &(temporary_value_);
254 return static_cast<const InputType &
>(type);
arma::Mat< Type >::template fixed< resRows, resCols > operator*(const Mat< Type, resRows, commonDimension > &a, const Mat< Type, commonDimension, resCols > &b)
static constexpr bool value
#define ASSERT_PTR(ptr)
Definition of assert macro checking non-null pointer (PTR)
#define THROW(whole_exception_expr)
Wrapper for throw. Saves the throwing point.