21 template<
typename ID_,
class Ret_,
class Except_>
inline Ret_
26 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline
27 base<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::
base(
void) {
30 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline
31 base<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::~
base(
void) {
34 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline bool
39 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline bool
44 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline bool
45 base<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::
find(
const id_type &id)
const {
49 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline bool
50 base<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::
empty(
void)
const noexcept(
true) {
54 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline const typename base<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::
size_type
55 base<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::
size(
void)
const noexcept(
true) {
59 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline void
64 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline const typename base<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::
container_type &
65 base<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::
createables(
void)
const noexcept(
true) {
69 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline typename base<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::
container_type &
70 base<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::
createables(
void)
noexcept(
true) {
74 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline constexpr
76 :
base<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>() {
79 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline
83 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline typename creator<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::
created_type
85 const typename Cont_::const_iterator createable(
base_t::createables_.find(id));
86 if (createable!=
base_t::createables_.end()) {
87 return createable->second();
89 return NotFound_::execute(id);
92 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline constexpr
93 clone<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::
clone(
void)
94 :
base<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>() {
97 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline
98 clone<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::~
clone(
void) {
101 template<
typename ID_,
class Obj_,
class Except_,
class Ret_,
class NotFound_,
typename CreatFn_,
class Cont_>
inline typename clone<ID_,Obj_,Except_,Ret_,NotFound_,CreatFn_,Cont_>::
created_type
103 const typename Cont_::const_iterator createable(
base_t::createables_.find(id));
104 if (createable!=
base_t::createables_.end()) {
106 return creator.second(*creator.first);
108 return NotFound_::execute(id);