Sprout/sprout/fixed_container/get_fixed.hpp

38 lines
1.2 KiB
C++
Raw Normal View History

2011-09-01 02:48:32 +00:00
#ifndef SPROUT_FIXED_CONTAINER_GET_FIXED_HPP
#define SPROUT_FIXED_CONTAINER_GET_FIXED_HPP
#include <sprout/config.hpp>
#include <sprout/fixed_container/traits.hpp>
namespace sprout {
//
// get_fixed
//
template<typename Container>
inline typename sprout::fixed_container_traits<Container>::fixed_container_type& get_fixed(Container& cont) {
2011-09-03 13:26:26 +00:00
return sprout::get_fixed_functor<Container>()(cont);
2011-09-01 02:48:32 +00:00
}
template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fixed_container_traits<Container>::fixed_container_type const& get_fixed(Container const& cont) {
2011-09-03 13:26:26 +00:00
return sprout::get_fixed_functor<Container>()(cont);
2011-09-01 02:48:32 +00:00
}
//
// get_cfixed
//
template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fixed_container_traits<Container>::fixed_container_type const& get_cfixed(Container const& cont) {
2011-09-03 13:26:26 +00:00
return sprout::get_fixed_functor<Container>()(cont);
2011-09-01 02:48:32 +00:00
}
//
// get_fixed_copy
//
template<typename Container>
SPROUT_CONSTEXPR inline typename sprout::fixed_container_traits<Container>::fixed_container_type get_fixed_copy(Container const& cont) {
2011-09-03 13:26:26 +00:00
return sprout::get_fixed_functor<Container>()(cont);
2011-09-01 02:48:32 +00:00
}
} // namespace sprout
#endif // #ifndef SPROUT_FIXED_CONTAINER_GET_FIXED_HPP