OR-Tools  8.1
stl_util.h File Reference

Go to the source code of this file.

Classes

class  Equiv< LessFunc >
 
class  BaseDeleter
 
class  TemplatedElementDeleter< STLContainer >
 
class  ElementDeleter
 
class  TemplatedValueDeleter< STLContainer >
 
class  ValueDeleter
 
class  STLElementDeleter< STLContainer >
 
class  STLValueDeleter< STLContainer >
 
struct  TransparentLess
 
struct  Unordered< typename, typename, typename >
 
struct  Unordered< T, absl::void_t< typename T::hasher > >
 
struct  Unordered< T, absl::void_t< typename T::hasher >, absl::void_t< typename T::reverse_iterator > >
 
class  STLCountingAllocator< T, Alloc >
 
class  STLCountingAllocator< T, Alloc >::rebind< U >
 
class  STLCountingAllocator< void, A >
 
class  STLCountingAllocator< void, A >::rebind< U >
 

Namespaces

 gtl
 
 gtl::internal
 
 gtl::stl_util_internal
 

Functions

template<typename T , typename LessFunc >
void STLSortAndRemoveDuplicates (T *v, const LessFunc &less_func)
 
template<typename T >
void STLSortAndRemoveDuplicates (T *v)
 
template<typename T , typename LessFunc >
void STLStableSortAndRemoveDuplicates (T *v, const LessFunc &less_func)
 
template<typename T >
void STLStableSortAndRemoveDuplicates (T *v)
 
template<typename T , typename E >
void STLEraseAllFromSequence (T *v, const E &e)
 
template<typename T , typename A , typename E >
void STLEraseAllFromSequence (std::list< T, A > *c, const E &e)
 
template<typename T , typename A , typename E >
void STLEraseAllFromSequence (std::forward_list< T, A > *c, const E &e)
 
template<typename T , typename P >
void STLEraseAllFromSequenceIf (T *v, P pred)
 
template<typename T , typename A , typename P >
void STLEraseAllFromSequenceIf (std::list< T, A > *c, P pred)
 
template<typename T , typename A , typename P >
void STLEraseAllFromSequenceIf (std::forward_list< T, A > *c, P pred)
 
template<typename T >
void STLClearObject (T *obj)
 
template<typename T , typename A >
void STLClearObject (std::deque< T, A > *obj)
 
template<typename T >
void STLClearIfBig (T *obj, size_t limit=1<< 20)
 
template<typename T , typename A >
void STLClearIfBig (std::deque< T, A > *obj, size_t limit=1<< 20)
 
template<typename T >
void STLClearHashIfBig (T *obj, size_t limit)
 
void STLStringReserveIfNeeded (std::string *s, size_t min_capacity)
 
template<typename T , typename Traits , typename Alloc >
void STLStringResizeUninitialized (std::basic_string< T, Traits, Alloc > *s, size_t new_size)
 
template<typename T , typename Traits , typename Alloc >
bool STLStringSupportsNontrashingResize (const std::basic_string< T, Traits, Alloc > &s)
 
void STLAssignToString (std::string *str, const char *ptr, size_t n)
 
void STLAppendToString (std::string *str, const char *ptr, size_t n)
 
char * string_as_array (std::string *str)
 
template<typename HashSet >
bool HashSetEquality (const HashSet &set_a, const HashSet &set_b)
 
template<typename HashMap , typename BinaryPredicate >
bool HashMapEquality (const HashMap &map_a, const HashMap &map_b, BinaryPredicate mapped_type_equal)
 
template<typename K , typename V , typename C , typename A >
bool HashMapEquality (const std::map< K, V, C, A > &map_a, const std::map< K, V, C, A > &map_b)
 
template<typename HashMap >
bool HashMapEquality (const HashMap &a, const HashMap &b)
 
template<typename ForwardIterator >
void STLDeleteContainerPointers (ForwardIterator begin, ForwardIterator end)
 
template<typename ForwardIterator >
void STLDeleteContainerPairPointers (ForwardIterator begin, ForwardIterator end)
 
template<typename ForwardIterator >
void STLDeleteContainerPairFirstPointers (ForwardIterator begin, ForwardIterator end)
 
template<typename ForwardIterator >
void STLDeleteContainerPairSecondPointers (ForwardIterator begin, ForwardIterator end)
 
template<typename T >
void STLDeleteElements (T *container)
 
template<typename T >
void STLDeleteValues (T *v)
 
template<typename T >
ABSL_MUST_USE_RESULT T * release_ptr (T **ptr)
 
template<typename In1 , typename In2 , typename Out , typename Compare >
void STLSetDifference (const In1 &a, const In2 &b, Out *out, Compare compare)
 
template<typename In1 , typename In2 , typename Out >
std::enable_if<!std::is_function< Out >::value, void >::type STLSetDifference (const In1 &a, const In2 &b, Out *out)
 
template<typename Out , typename In1 , typename In2 , typename Compare >
Out STLSetDifferenceAs (const In1 &a, const In2 &b, Compare compare)
 
template<typename Out , typename In1 , typename In2 >
Out STLSetDifferenceAs (const In1 &a, const In2 &b)
 
template<typename In1 , typename In2 , typename Compare >
In1 STLSetDifference (const In1 &a, const In2 &b, Compare compare)
 
template<typename In1 , typename In2 >
In1 STLSetDifference (const In1 &a, const In2 &b)
 
template<typename In1 >
In1 STLSetDifference (const In1 &a, const In1 &b)
 
template<typename In1 , typename In2 , typename Out , typename Compare >
void STLSetUnion (const In1 &a, const In2 &b, Out *out, Compare compare)
 
template<typename In1 , typename In2 , typename Out >
std::enable_if<!std::is_function< Out >::value, void >::type STLSetUnion (const In1 &a, const In2 &b, Out *out)
 
template<typename Out , typename In1 , typename In2 , typename Compare >
Out STLSetUnionAs (const In1 &a, const In2 &b, Compare compare)
 
template<typename Out , typename In1 , typename In2 >
Out STLSetUnionAs (const In1 &a, const In2 &b)
 
template<typename In1 , typename In2 , typename Compare >
In1 STLSetUnion (const In1 &a, const In2 &b, Compare compare)
 
template<typename In1 , typename In2 >
In1 STLSetUnion (const In1 &a, const In2 &b)
 
template<typename In1 >
In1 STLSetUnion (const In1 &a, const In1 &b)
 
template<typename In1 , typename In2 , typename Out , typename Compare >
void STLSetSymmetricDifference (const In1 &a, const In2 &b, Out *out, Compare compare)
 
template<typename In1 , typename In2 , typename Out >
std::enable_if<!std::is_function< Out >::value, void >::type STLSetSymmetricDifference (const In1 &a, const In2 &b, Out *out)
 
template<typename Out , typename In1 , typename In2 , typename Compare >
Out STLSetSymmetricDifferenceAs (const In1 &a, const In2 &b, Compare comp)
 
template<typename Out , typename In1 , typename In2 >
Out STLSetSymmetricDifferenceAs (const In1 &a, const In2 &b)
 
template<typename In1 , typename In2 , typename Compare >
In1 STLSetSymmetricDifference (const In1 &a, const In2 &b, Compare comp)
 
template<typename In1 , typename In2 >
In1 STLSetSymmetricDifference (const In1 &a, const In2 &b)
 
template<typename In1 >
In1 STLSetSymmetricDifference (const In1 &a, const In1 &b)
 
template<typename In1 , typename In2 , typename Out , typename Compare >
void STLSetIntersection (const In1 &a, const In2 &b, Out *out, Compare compare)
 
template<typename In1 , typename In2 , typename Out >
std::enable_if<!std::is_function< Out >::value, void >::type STLSetIntersection (const In1 &a, const In2 &b, Out *out)
 
template<typename Out , typename In1 , typename In2 , typename Compare >
Out STLSetIntersectionAs (const In1 &a, const In2 &b, Compare compare)
 
template<typename Out , typename In1 , typename In2 >
Out STLSetIntersectionAs (const In1 &a, const In2 &b)
 
template<typename In1 , typename In2 , typename Compare >
In1 STLSetIntersection (const In1 &a, const In2 &b, Compare compare)
 
template<typename In1 , typename In2 >
In1 STLSetIntersection (const In1 &a, const In2 &b)
 
template<typename In1 >
In1 STLSetIntersection (const In1 &a, const In1 &b)
 
template<typename In1 , typename In2 , typename Compare >
bool STLIncludes (const In1 &a, const In2 &b, Compare compare)
 
template<typename In1 , typename In2 >
bool STLIncludes (const In1 &a, const In2 &b)
 
template<typename InputIterator1 , typename InputIterator2 , typename Comp >
bool SortedRangesHaveIntersection (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2, Comp comparator)
 
template<typename InputIterator1 , typename InputIterator2 >
bool SortedRangesHaveIntersection (InputIterator1 begin1, InputIterator1 end1, InputIterator2 begin2, InputIterator2 end2)
 
template<typename In1 , typename In2 , typename Comp >
bool SortedContainersHaveIntersection (const In1 &in1, const In2 &in2, Comp comparator)
 
template<typename In1 , typename In2 >
bool SortedContainersHaveIntersection (const In1 &in1, const In2 &in2)
 
template<typename T , typename A >
bool operator== (const STLCountingAllocator< T, A > &a, const STLCountingAllocator< T, A > &b)
 
template<typename T , typename A >
bool operator!= (const STLCountingAllocator< T, A > &a, const STLCountingAllocator< T, A > &b)