fix inline

add container/indexes.hpp
add tuple/indexes.hpp
This commit is contained in:
bolero-MURAKAMI 2012-04-04 22:23:41 +09:00
parent ba6482d1ec
commit c6bd230ee4
340 changed files with 1087 additions and 979 deletions

View file

@ -387,27 +387,27 @@ namespace sprout {
// operator>=
//
template<typename Container>
SPROUT_CONSTEXPR inline bool operator==(sprout::sub_array<Container> const& lhs, sprout::sub_array<Container> const& rhs) {
inline SPROUT_CONSTEXPR bool operator==(sprout::sub_array<Container> const& lhs, sprout::sub_array<Container> const& rhs) {
return NS_SSCRISK_CEL_OR_SPROUT::equal(sprout::begin(lhs), sprout::end(lhs), sprout::begin(rhs));
}
template<typename Container>
SPROUT_CONSTEXPR inline bool operator!=(sprout::sub_array<Container> const& lhs, sprout::sub_array<Container> const& rhs) {
inline SPROUT_CONSTEXPR bool operator!=(sprout::sub_array<Container> const& lhs, sprout::sub_array<Container> const& rhs) {
return !(lhs == rhs);
}
template<typename Container>
SPROUT_CONSTEXPR inline bool operator<(sprout::sub_array<Container> const& lhs, sprout::sub_array<Container> const& rhs) {
inline SPROUT_CONSTEXPR bool operator<(sprout::sub_array<Container> const& lhs, sprout::sub_array<Container> const& rhs) {
return NS_SSCRISK_CEL_OR_SPROUT::lexicographical_compare(sprout::begin(lhs), sprout::end(lhs), sprout::begin(rhs), sprout::end(rhs));
}
template<typename Container>
SPROUT_CONSTEXPR inline bool operator>(sprout::sub_array<Container> const& lhs, sprout::sub_array<Container> const& rhs) {
inline SPROUT_CONSTEXPR bool operator>(sprout::sub_array<Container> const& lhs, sprout::sub_array<Container> const& rhs) {
return rhs < lhs;
}
template<typename Container>
SPROUT_CONSTEXPR inline bool operator<=(sprout::sub_array<Container> const& lhs, sprout::sub_array<Container> const& rhs) {
inline SPROUT_CONSTEXPR bool operator<=(sprout::sub_array<Container> const& lhs, sprout::sub_array<Container> const& rhs) {
return !(rhs < lhs);
}
template<typename Container>
SPROUT_CONSTEXPR inline bool operator>=(sprout::sub_array<Container> const& lhs, sprout::sub_array<Container> const& rhs) {
inline SPROUT_CONSTEXPR bool operator>=(sprout::sub_array<Container> const& lhs, sprout::sub_array<Container> const& rhs) {
return !(lhs < rhs);
}
@ -550,7 +550,7 @@ namespace sprout {
// sub
//
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container&> >::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container&> >::type sub(
Container& arr,
typename sprout::container_traits<sprout::sub_array<Container&> >::const_iterator first,
typename sprout::container_traits<sprout::sub_array<Container&> >::const_iterator last
@ -559,7 +559,7 @@ namespace sprout {
return sprout::sub_array<Container&>(arr, first, last);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container&> >::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container&> >::type sub(
Container& arr,
typename sprout::container_traits<sprout::sub_array<Container&> >::difference_type first,
typename sprout::container_traits<sprout::sub_array<Container&> >::difference_type last
@ -568,7 +568,7 @@ namespace sprout {
return sprout::sub_array<Container&>(arr, first, last);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container&> >::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container&> >::type sub(
Container& arr,
typename sprout::container_traits<sprout::sub_array<Container&> >::const_iterator first
)
@ -576,7 +576,7 @@ namespace sprout {
return sprout::sub(arr, first, sprout::end(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container&> >::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container&> >::type sub(
Container& arr,
typename sprout::container_traits<sprout::sub_array<Container&> >::difference_type first
)
@ -584,7 +584,7 @@ namespace sprout {
return sprout::sub(arr, first, sprout::size(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container&> >::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container&> >::type sub(
Container& arr
)
{
@ -594,7 +594,7 @@ namespace sprout {
// sub
//
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type sub(
Container const& arr,
typename sprout::container_traits<sprout::sub_array<Container const&> >::const_iterator first,
typename sprout::container_traits<sprout::sub_array<Container const&> >::const_iterator last
@ -603,7 +603,7 @@ namespace sprout {
return sprout::sub_array<Container const&>(arr, first, last);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type sub(
Container const& arr,
typename sprout::container_traits<sprout::sub_array<Container const&> >::difference_type first,
typename sprout::container_traits<sprout::sub_array<Container const&> >::difference_type last
@ -612,7 +612,7 @@ namespace sprout {
return sprout::sub_array<Container const&>(arr, first, last);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type sub(
Container const& arr,
typename sprout::container_traits<sprout::sub_array<Container const&> >::const_iterator first
)
@ -620,7 +620,7 @@ namespace sprout {
return sprout::sub(arr, first, sprout::end(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type sub(
Container const& arr,
typename sprout::container_traits<sprout::sub_array<Container const&> >::difference_type first
)
@ -628,7 +628,7 @@ namespace sprout {
return sprout::sub(arr, first, sprout::size(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type sub(
Container const& arr
)
{
@ -638,7 +638,7 @@ namespace sprout {
// sub
//
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, Container>::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, Container>::type sub(
Container const& arr,
typename sprout::container_traits<Container>::const_iterator first,
typename sprout::container_traits<Container>::const_iterator last
@ -647,7 +647,7 @@ namespace sprout {
return Container(arr, first, last);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, Container>::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, Container>::type sub(
Container const& arr,
typename sprout::container_traits<Container>::difference_type first,
typename sprout::container_traits<Container>::difference_type last
@ -656,7 +656,7 @@ namespace sprout {
return Container(arr, first, last);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, Container>::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, Container>::type sub(
Container const& arr,
typename sprout::container_traits<Container>::const_iterator first
)
@ -664,7 +664,7 @@ namespace sprout {
return sprout::sub(arr, first, sprout::end(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, Container>::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, Container>::type sub(
Container const& arr,
typename sprout::container_traits<Container>::difference_type first
)
@ -672,7 +672,7 @@ namespace sprout {
return sprout::sub(arr, first, sprout::size(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, Container>::type sub(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, Container>::type sub(
Container const& arr
)
{
@ -683,7 +683,7 @@ namespace sprout {
// csub
//
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type csub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type csub(
Container const& arr,
typename sprout::container_traits<sprout::sub_array<Container const&> >::const_iterator first,
typename sprout::container_traits<sprout::sub_array<Container const&> >::const_iterator last
@ -692,7 +692,7 @@ namespace sprout {
return sprout::sub_array<Container const&>(arr, first, last);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type csub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type csub(
Container const& arr,
typename sprout::container_traits<sprout::sub_array<Container const&> >::difference_type first,
typename sprout::container_traits<sprout::sub_array<Container const&> >::difference_type last
@ -701,7 +701,7 @@ namespace sprout {
return sprout::sub_array<Container const&>(arr, first, last);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type csub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type csub(
Container const& arr,
typename sprout::container_traits<sprout::sub_array<Container const&> >::const_iterator first
)
@ -709,7 +709,7 @@ namespace sprout {
return sprout::csub(arr, first, sprout::end(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type csub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type csub(
Container const& arr,
typename sprout::container_traits<sprout::sub_array<Container const&> >::difference_type first
)
@ -717,7 +717,7 @@ namespace sprout {
return sprout::csub(arr, first, sprout::size(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type csub(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container const&> >::type csub(
Container const& arr
)
{
@ -727,7 +727,7 @@ namespace sprout {
// csub
//
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type const&> >::type csub(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type const&> >::type csub(
Container const& arr,
typename sprout::container_traits<Container>::const_iterator first,
typename sprout::container_traits<Container>::const_iterator last
@ -736,7 +736,7 @@ namespace sprout {
return sprout::sub_array<typename Container::internal_type const&>(arr.get_array(), first, last);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type const&> >::type csub(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type const&> >::type csub(
Container const& arr,
typename sprout::container_traits<Container>::difference_type first,
typename sprout::container_traits<Container>::difference_type last
@ -749,7 +749,7 @@ namespace sprout {
);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type const&> >::type csub(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type const&> >::type csub(
Container const& arr,
typename sprout::container_traits<Container>::const_iterator first
)
@ -757,7 +757,7 @@ namespace sprout {
return sprout::csub(arr, first, sprout::end(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type const&> >::type csub(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type const&> >::type csub(
Container const& arr,
typename sprout::container_traits<Container>::difference_type first
)
@ -765,7 +765,7 @@ namespace sprout {
return sprout::csub(arr, first, sprout::size(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type const&> >::type csub(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type const&> >::type csub(
Container const& arr
)
{
@ -776,7 +776,7 @@ namespace sprout {
// sub_copy
//
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container> >::type sub_copy(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container> >::type sub_copy(
Container const& arr,
typename sprout::container_traits<Container>::const_iterator first,
typename sprout::container_traits<Container>::const_iterator last
@ -785,7 +785,7 @@ namespace sprout {
return sprout::sub_array<Container>(arr, first, last);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container> >::type sub_copy(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container> >::type sub_copy(
Container const& arr,
typename sprout::container_traits<Container>::difference_type first,
typename sprout::container_traits<Container>::difference_type last
@ -794,7 +794,7 @@ namespace sprout {
return sprout::sub_array<Container>(arr, first, last);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container> >::type sub_copy(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container> >::type sub_copy(
Container const& arr,
typename sprout::container_traits<Container>::const_iterator first
)
@ -802,7 +802,7 @@ namespace sprout {
return sprout::sub_copy(arr, first, sprout::end(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container> >::type sub_copy(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container> >::type sub_copy(
Container const& arr,
typename sprout::container_traits<Container>::difference_type first
)
@ -810,7 +810,7 @@ namespace sprout {
return sprout::sub_copy(arr, first, sprout::size(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container> >::type sub_copy(
inline SPROUT_CONSTEXPR typename std::enable_if<!sprout::is_sub_array<Container>::value, sprout::sub_array<Container> >::type sub_copy(
Container const& arr
)
{
@ -820,7 +820,7 @@ namespace sprout {
// sub_copy
//
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type> >::type sub_copy(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type> >::type sub_copy(
Container const& arr,
typename sprout::container_traits<Container>::const_iterator first,
typename sprout::container_traits<Container>::const_iterator last
@ -829,7 +829,7 @@ namespace sprout {
return sprout::sub_array<typename Container::internal_type>(arr.get_array(), first, last);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type> >::type sub_copy(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type> >::type sub_copy(
Container const& arr,
typename sprout::container_traits<Container>::difference_type first,
typename sprout::container_traits<Container>::difference_type last
@ -842,7 +842,7 @@ namespace sprout {
);
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type> >::type sub_copy(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type> >::type sub_copy(
Container const& arr,
typename sprout::container_traits<Container>::const_iterator first
)
@ -850,7 +850,7 @@ namespace sprout {
return sprout::sub_copy(arr, first, sprout::end(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type> >::type sub_copy(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type> >::type sub_copy(
Container const& arr,
typename sprout::container_traits<Container>::difference_type first
)
@ -858,7 +858,7 @@ namespace sprout {
return sprout::sub_copy(arr, first, sprout::size(arr));
}
template<typename Container>
SPROUT_CONSTEXPR inline typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type> >::type sub_copy(
inline SPROUT_CONSTEXPR typename std::enable_if<sprout::is_sub_array<Container>::value, sprout::sub_array<typename Container::internal_type> >::type sub_copy(
Container const& arr
)
{