diff --git a/ostd/array.hh b/ostd/array.hh index 74eb61a..6fa2ac3 100644 --- a/ostd/array.hh +++ b/ostd/array.hh @@ -85,22 +85,22 @@ struct TupleElementBase> { }; template -TupleElement> &get(Array &a) { +inline TupleElement> &get(Array &a) { return a[I]; } template -const TupleElement> &get(const Array &a) { +inline const TupleElement> &get(const Array &a) { return a[I]; } template -TupleElement> &&get(Array &&a) { +inline TupleElement> &&get(Array &&a) { return move(a.p_buf[I]); } template -const TupleElement> &&get(const Array &&a) { +inline const TupleElement> &&get(const Array &&a) { return move(a.p_buf[I]); } diff --git a/ostd/internal/tuple.hh b/ostd/internal/tuple.hh index 4e8143b..fb30f95 100644 --- a/ostd/internal/tuple.hh +++ b/ostd/internal/tuple.hh @@ -56,48 +56,48 @@ template constexpr bool IsTupleLike = IsTupleLike< template constexpr bool IsTupleLike> = true; template -TupleElement> &get(Tuple &); +inline TupleElement> &get(Tuple &); template -const TupleElement> &get(const Tuple &); +inline const TupleElement> &get(const Tuple &); template -TupleElement> &&get(Tuple &&); +inline TupleElement> &&get(Tuple &&); template -const TupleElement> &&get(const Tuple &&); +inline const TupleElement> &&get(const Tuple &&); /* pair specializations */ template constexpr bool IsTupleLike> = true; template -TupleElement> &get(Pair &); +inline TupleElement> &get(Pair &); template -const TupleElement> &get(const Pair &); +inline const TupleElement> &get(const Pair &); template -TupleElement> &&get(Pair &&); +inline TupleElement> &&get(Pair &&); template -const TupleElement> &&get(const Pair &&); +inline const TupleElement> &&get(const Pair &&); /* array specializations */ template constexpr bool IsTupleLike> = true; template -T &get(Array &); +inline T &get(Array &); template -const T &get(const Array &); +inline const T &get(const Array &); template -T &&get(Array &&); +inline T &&get(Array &&); template -const T &&get(const Array &&); +inline const T &&get(const Array &&); /* make tuple indices */ diff --git a/ostd/utility.hh b/ostd/utility.hh index 65481d6..facf292 100644 --- a/ostd/utility.hh +++ b/ostd/utility.hh @@ -252,22 +252,22 @@ namespace detail { } template -TupleElement> &get(Pair &p) { +inline TupleElement> &get(Pair &p) { return detail::GetPair::get(p); } template -const TupleElement> &get(const Pair &p) { +inline const TupleElement> &get(const Pair &p) { return detail::GetPair::get(p); } template -TupleElement> &&get(Pair &&p) { +inline TupleElement> &&get(Pair &&p) { return detail::GetPair::get(move(p)); } template -const TupleElement> &&get(const Pair &&p) { +inline const TupleElement> &&get(const Pair &&p) { return detail::GetPair::get(move(p)); }