Lines Matching refs:Args
27 template<typename... Args>
28 inline std::size_t concat_length(const char* cstr, Args&& ... rest);
30 template<typename StringType, typename... Args>
31 inline std::size_t concat_length(const StringType& str, Args&& ... rest);
33 template<typename... Args>
34 inline std::size_t concat_length(const char /*c*/, Args&& ... rest)
36 return 1 + concat_length(std::forward<Args>(rest)...);
39 template<typename... Args>
40 inline std::size_t concat_length(const char* cstr, Args&& ... rest)
43 return ::strlen(cstr) + concat_length(std::forward<Args>(rest)...);
46 template<typename StringType, typename... Args>
47 inline std::size_t concat_length(const StringType& str, Args&& ... rest)
49 return str.size() + concat_length(std::forward<Args>(rest)...);
80 template < typename OutStringType, typename Arg, typename... Args,
83 inline void concat_into(OutStringType& out, Arg && arg, Args && ... rest);
85 template < typename OutStringType, typename Arg, typename... Args,
89 inline void concat_into(OutStringType& out, const Arg& arg, Args && ... rest);
91 template < typename OutStringType, typename Arg, typename... Args,
96 inline void concat_into(OutStringType& out, const Arg& arg, Args && ... rest);
98 template<typename OutStringType, typename Arg, typename... Args,
100 inline void concat_into(OutStringType& out, Arg && arg, Args && ... rest)
103 concat_into(out, std::forward<Args>(rest)...);
106 template < typename OutStringType, typename Arg, typename... Args,
109 inline void concat_into(OutStringType& out, Arg&& arg, Args&& ... rest)
112 concat_into(out, std::forward<Args>(rest)...);
115 template < typename OutStringType, typename Arg, typename... Args,
119 inline void concat_into(OutStringType& out, const Arg& arg, Args&& ... rest)
122 concat_into(out, std::forward<Args>(rest)...);
125 template < typename OutStringType, typename Arg, typename... Args,
130 inline void concat_into(OutStringType& out, const Arg& arg, Args&& ... rest)
133 concat_into(out, std::forward<Args>(rest)...);
136 template<typename OutStringType = std::string, typename... Args>
137 inline OutStringType concat(Args && ... args)
140 str.reserve(concat_length(std::forward<Args>(args)...));
141 concat_into(str, std::forward<Args>(args)...);