19 #ifndef INCLUDED_COMPHELPER_STL_TYPES_HXX
20 #define INCLUDED_COMPHELPER_STL_TYPES_HXX
26 #include <string_view>
28 #include <rtl/ustring.hxx>
29 #include <rtl/ustrbuf.hxx>
42 UStringMixLess(
bool bCaseSensitive =
true):m_bCaseSensitive(bCaseSensitive){}
43 bool operator() (
const OUString& x, std::u16string_view y)
const
46 return x.compareTo(y) < 0;
48 return x.compareToIgnoreAsciiCase(y) < 0;
60 bool operator() (
const OUString& lhs, std::u16string_view rhs)
const
62 return m_bCaseSensitive ? lhs == rhs : lhs.equalsIgnoreAsciiCase( rhs );
71 std::unique_ptr<T>
const& rhs)
const
75 return (*lhs) < (*rhs);
80 template<
template<
typename,
typename...>
class C,
typename T,
typename... Etc>
82 C<std::unique_ptr<T>, Etc...>
const& lhs,
83 C<std::unique_ptr<T>, Etc...>
const& rhs)
85 return lhs.size() == rhs.size()
86 && std::equal(lhs.begin(), lhs.end(), rhs.begin(),
87 [](
auto& p1,
auto& p2) {
return *p1 == *p2; });
91 template <
class Tp,
class Arg>
94 typedef void (Tp::*_fun_type)(
Arg);
96 explicit mem_fun1_t(_fun_type pf) : M_f(pf) {}
97 void operator()(Tp* p, Arg x)
const { (p->*M_f)(x); }
102 template <
class Tp,
class Arg>
136 template<
typename ForwardIter,
typename OutputIter,
typename T >
138 ForwardIter start, ForwardIter end, OutputIter out, T
const & separator)
146 while (start != end) {
159 #endif // INCLUDED_COMPHELPER_STL_TYPES_HXX
bool operator()(const OUString &lhs, std::u16string_view rhs) const
UStringMixEqual(bool bCaseSensitive=true)
OUStringBuffer * m_rBuffer
bool const m_bCaseSensitive
OutputIter intersperse(ForwardIter start, ForwardIter end, OutputIter out, T const &separator)
algorithm similar to std::copy, but inserts a separator between elements.
bool operator()(std::unique_ptr< T > const &lhs, std::unique_ptr< T > const &rhs) const
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
output iterator that appends OUStrings into an OUStringBuffer.
UStringMixLess(bool bCaseSensitive=true)
bool ContainerUniquePtrEquals(C< std::unique_ptr< T >, Etc... > const &lhs, C< std::unique_ptr< T >, Etc... > const &rhs)
by-value implementation of std::foo>operator==
by-value less functor for std::set>
bool isCaseSensitive() const
mem_fun1_t< Tp, Arg > mem_fun(void(Tp::*f)(Arg))
OUStringBufferAppender Self
Self & operator=(OUString const &i_rStr)
bool operator()(const OUString &x, std::u16string_view y) const
bool isCaseSensitive() const
::std::output_iterator_tag iterator_category
OUStringBufferAppender(OUStringBuffer &i_rBuffer)