Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
gtl Namespace Reference

Detailed Description

Todo
(corentinl) std::to_array available in C++20.

Namespaces

namespace  internal_array
namespace  internal
namespace  detail
namespace  stl_util_internal

Classes

struct  LogShort
class  LogShortUpToN
struct  LogShortUpTo100
struct  LogMultiline
class  LogMultilineUpToN
struct  LogMultilineUpTo100
struct  LogLegacyUpTo100
struct  LogLegacy
class  IntType
class  ReverseView
class  linked_hash_map
class  BaseDeleter
class  TemplatedElementDeleter
class  ElementDeleter
class  TemplatedValueDeleter
class  ValueDeleter
class  STLElementDeleter
class  STLValueDeleter

Typedefs

typedef LogShortUpTo100 LogDefault
template<typename M>
using MapUtilValueT = typename M::value_type
template<typename M>
using MapUtilKeyT = typename MapUtilValueT<M>::first_type
template<typename M>
using MapUtilMappedT = typename MapUtilValueT<M>::second_type

Functions

template<typename T, std::size_t N>
constexpr std::array< std::remove_cv_t< T >, N > to_array (T(&ts)[N])
template<typename T, std::size_t N>
constexpr std::array< std::remove_cv_t< T >, N > to_array (T(&&ts)[N])
template<typename IteratorT, typename PolicyT>
void LogRangeToStream (std::ostream &out, IteratorT begin, IteratorT end, const PolicyT &policy)
template<typename IteratorT, typename PolicyT>
detail::RangeLogger< IteratorT, PolicyT > LogRange (const IteratorT &begin, const IteratorT &end, const PolicyT &policy)
template<typename IteratorT>
detail::RangeLogger< IteratorT, LogDefaultLogRange (const IteratorT &begin, const IteratorT &end)
template<typename ContainerT, typename PolicyT>
auto LogContainer (const ContainerT &container, const PolicyT &policy) -> decltype(gtl::LogRange(container.begin(), container.end(), policy))
template<typename ContainerT>
auto LogContainer (const ContainerT &container) -> decltype(gtl::LogContainer(container, LogDefault()))
template<typename E>
detail::EnumLogger< E > LogEnum (E e)
template<typename IntTypeName, typename ValueType>
std::ostream & operator<< (std::ostream &os, IntType< IntTypeName, ValueType > arg)
 INT_TYPE_ARITHMETIC_OP (+)
 INT_TYPE_ARITHMETIC_OP (-)
INT_TYPE_ARITHMETIC_OP * INT_TYPE_ARITHMETIC_OP (/);INT_TYPE_ARITHMETIC_OP(<<
 INT_TYPE_ARITHMETIC_OP (> >)
 INT_TYPE_ARITHMETIC_OP (%)
 INT_TYPE_COMPARISON_OP (==)
 INT_TYPE_COMPARISON_OP (!=)
 INT_TYPE_COMPARISON_OP (<=)
 INT_TYPE_COMPARISON_OP (>=)
template<class Container>
ReverseView< Container > reversed_view (const Container &c)
template<typename Collection, typename KeyType = MapUtilKeyT<Collection>>
const MapUtilMappedT< Collection > & FindWithDefault (const Collection &collection, const KeyType &key, const MapUtilMappedT< Collection > &value)
template<class Collection, typename KeyType = MapUtilKeyT<Collection>>
const MapUtilMappedT< Collection > & FindWithDefault (const Collection &collection, const KeyType &key)
template<class Collection>
const Collection::value_type::second_type * FindOrNull (const Collection &collection, const typename Collection::value_type::first_type &key)
template<class Collection>
Collection::value_type::second_type * FindOrNull (Collection &collection, const typename Collection::value_type::first_type &key)
template<class Collection>
const Collection::value_type::second_type FindPtrOrNull (const Collection &collection, const typename Collection::value_type::first_type &key)
template<class Collection, class Key, class Value>
bool InsertOrUpdate (Collection *const collection, const Key &key, const Value &value)
template<class Collection>
bool InsertIfNotPresent (Collection *const collection, const typename Collection::value_type &value)
template<class Collection, class Key, class Value>
bool InsertIfNotPresent (Collection *const collection, const Key &key, const Value &value)
template<class Collection>
void InsertOrDieNoPrint (Collection *const collection, const typename Collection::value_type &value)
template<class Collection>
void InsertOrDie (Collection *const collection, const typename Collection::value_type &value)
template<class Collection>
void InsertOrDie (Collection *const collection, const typename Collection::value_type::first_type &key, const typename Collection::value_type::second_type &data)
template<typename Collection>
auto & InsertKeyOrDie (Collection *const collection, const typename Collection::value_type::first_type &key)
template<class Collection, class Key, class Value>
bool FindCopy (const Collection &collection, const Key &key, Value *const value)
template<class Collection, class Key>
bool ContainsKey (const Collection &collection, const Key &key)
template<class Collection>
const Collection::value_type::second_type & FindOrDie (const Collection &collection, const typename Collection::value_type::first_type &key)
template<class Collection>
const Collection::value_type::second_type & FindOrDieNoPrint (const Collection &collection, const typename Collection::value_type::first_type &key)
template<class Collection>
Collection::value_type::second_type & FindOrDieNoPrint (Collection &collection, const typename Collection::value_type::first_type &key)
template<class Collection>
Collection::value_type::second_type & LookupOrInsert (Collection *const collection, const typename Collection::value_type::first_type &key, const typename Collection::value_type::second_type &value)
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)

Variables

class gtl::IntType ABSL_ATTRIBUTE_PACKED

Typedef Documentation

◆ LogDefault

Definition at line 166 of file container_logging.h.

◆ MapUtilKeyT

template<typename M>
using gtl::MapUtilKeyT = typename MapUtilValueT<M>::first_type

Definition at line 25 of file map_util.h.

◆ MapUtilMappedT

template<typename M>
using gtl::MapUtilMappedT = typename MapUtilValueT<M>::second_type

Definition at line 27 of file map_util.h.

◆ MapUtilValueT

template<typename M>
using gtl::MapUtilValueT = typename M::value_type

Definition at line 23 of file map_util.h.

Function Documentation

◆ ContainsKey()

template<class Collection, class Key>
bool gtl::ContainsKey ( const Collection & collection,
const Key & key )

Definition at line 205 of file map_util.h.

◆ FindCopy()

template<class Collection, class Key, class Value>
bool gtl::FindCopy ( const Collection & collection,
const Key & key,
Value *const value )

Definition at line 190 of file map_util.h.

◆ FindOrDie()

template<class Collection>
const Collection::value_type::second_type & gtl::FindOrDie ( const Collection & collection,
const typename Collection::value_type::first_type & key )

Definition at line 211 of file map_util.h.

◆ FindOrDieNoPrint() [1/2]

template<class Collection>
Collection::value_type::second_type & gtl::FindOrDieNoPrint ( Collection & collection,
const typename Collection::value_type::first_type & key )

Definition at line 231 of file map_util.h.

◆ FindOrDieNoPrint() [2/2]

template<class Collection>
const Collection::value_type::second_type & gtl::FindOrDieNoPrint ( const Collection & collection,
const typename Collection::value_type::first_type & key )

Definition at line 221 of file map_util.h.

◆ FindOrNull() [1/2]

template<class Collection>
Collection::value_type::second_type * gtl::FindOrNull ( Collection & collection,
const typename Collection::value_type::first_type & key )

Definition at line 79 of file map_util.h.

◆ FindOrNull() [2/2]

template<class Collection>
const Collection::value_type::second_type * gtl::FindOrNull ( const Collection & collection,
const typename Collection::value_type::first_type & key )

Definition at line 65 of file map_util.h.

◆ FindPtrOrNull()

template<class Collection>
const Collection::value_type::second_type gtl::FindPtrOrNull ( const Collection & collection,
const typename Collection::value_type::first_type & key )

Definition at line 94 of file map_util.h.

◆ FindWithDefault() [1/2]

template<class Collection, typename KeyType = MapUtilKeyT<Collection>>
const MapUtilMappedT< Collection > & gtl::FindWithDefault ( const Collection & collection,
const KeyType & key )

Definition at line 50 of file map_util.h.

◆ FindWithDefault() [2/2]

template<typename Collection, typename KeyType = MapUtilKeyT<Collection>>
const MapUtilMappedT< Collection > & gtl::FindWithDefault ( const Collection & collection,
const KeyType & key,
const MapUtilMappedT< Collection > & value )

Definition at line 36 of file map_util.h.

◆ HashMapEquality() [1/3]

template<typename HashMap>
bool gtl::HashMapEquality ( const HashMap & a,
const HashMap & b )
inline

Definition at line 300 of file stl_util.h.

◆ HashMapEquality() [2/3]

template<typename HashMap, typename BinaryPredicate>
bool gtl::HashMapEquality ( const HashMap & map_a,
const HashMap & map_b,
BinaryPredicate mapped_type_equal )
inline

Definition at line 279 of file stl_util.h.

◆ HashMapEquality() [3/3]

template<typename K, typename V, typename C, typename A>
bool gtl::HashMapEquality ( const std::map< K, V, C, A > & map_a,
const std::map< K, V, C, A > & map_b )
inline

Definition at line 294 of file stl_util.h.

◆ HashSetEquality()

template<typename HashSet>
bool gtl::HashSetEquality ( const HashSet & set_a,
const HashSet & set_b )
inline

Definition at line 267 of file stl_util.h.

◆ InsertIfNotPresent() [1/2]

template<class Collection, class Key, class Value>
bool gtl::InsertIfNotPresent ( Collection *const collection,
const Key & key,
const Value & value )

Definition at line 139 of file map_util.h.

◆ InsertIfNotPresent() [2/2]

template<class Collection>
bool gtl::InsertIfNotPresent ( Collection *const collection,
const typename Collection::value_type & value )

Definition at line 127 of file map_util.h.

◆ InsertKeyOrDie()

template<typename Collection>
auto & gtl::InsertKeyOrDie ( Collection *const collection,
const typename Collection::value_type::first_type & key )

Definition at line 178 of file map_util.h.

◆ InsertOrDie() [1/2]

template<class Collection>
void gtl::InsertOrDie ( Collection *const collection,
const typename Collection::value_type & value )

Definition at line 159 of file map_util.h.

◆ InsertOrDie() [2/2]

template<class Collection>
void gtl::InsertOrDie ( Collection *const collection,
const typename Collection::value_type::first_type & key,
const typename Collection::value_type::second_type & data )

Definition at line 167 of file map_util.h.

◆ InsertOrDieNoPrint()

template<class Collection>
void gtl::InsertOrDieNoPrint ( Collection *const collection,
const typename Collection::value_type & value )

Definition at line 150 of file map_util.h.

◆ InsertOrUpdate()

template<class Collection, class Key, class Value>
bool gtl::InsertOrUpdate ( Collection *const collection,
const Key & key,
const Value & value )

Definition at line 110 of file map_util.h.

◆ INT_TYPE_ARITHMETIC_OP() [1/5]

gtl::INT_TYPE_ARITHMETIC_OP ( % )

◆ INT_TYPE_ARITHMETIC_OP() [2/5]

gtl::INT_TYPE_ARITHMETIC_OP ( + )

◆ INT_TYPE_ARITHMETIC_OP() [3/5]

gtl::INT_TYPE_ARITHMETIC_OP ( - )

◆ INT_TYPE_ARITHMETIC_OP() [4/5]

INT_TYPE_ARITHMETIC_OP * gtl::INT_TYPE_ARITHMETIC_OP ( / )

◆ INT_TYPE_ARITHMETIC_OP() [5/5]

gtl::INT_TYPE_ARITHMETIC_OP ( )

◆ INT_TYPE_COMPARISON_OP() [1/4]

gtl::INT_TYPE_COMPARISON_OP ( ! )

◆ INT_TYPE_COMPARISON_OP() [2/4]

gtl::INT_TYPE_COMPARISON_OP ( <= )

◆ INT_TYPE_COMPARISON_OP() [3/4]

gtl::INT_TYPE_COMPARISON_OP ( )

◆ INT_TYPE_COMPARISON_OP() [4/4]

gtl::INT_TYPE_COMPARISON_OP ( >= )

◆ LogContainer() [1/2]

template<typename ContainerT>
auto gtl::LogContainer ( const ContainerT & container) ->decltype(gtl::LogContainer(container, LogDefault()))

Definition at line 285 of file container_logging.h.

◆ LogContainer() [2/2]

template<typename ContainerT, typename PolicyT>
auto gtl::LogContainer ( const ContainerT & container,
const PolicyT & policy )->decltype(gtl::LogRange(container.begin(), container.end(), policy))

Definition at line 273 of file container_logging.h.

◆ LogEnum()

template<typename E>
detail::EnumLogger< E > gtl::LogEnum ( E e)

Definition at line 295 of file container_logging.h.

◆ LogRange() [1/2]

template<typename IteratorT>
detail::RangeLogger< IteratorT, LogDefault > gtl::LogRange ( const IteratorT & begin,
const IteratorT & end )

Definition at line 261 of file container_logging.h.

◆ LogRange() [2/2]

template<typename IteratorT, typename PolicyT>
detail::RangeLogger< IteratorT, PolicyT > gtl::LogRange ( const IteratorT & begin,
const IteratorT & end,
const PolicyT & policy )

Definition at line 248 of file container_logging.h.

◆ LogRangeToStream()

template<typename IteratorT, typename PolicyT>
void gtl::LogRangeToStream ( std::ostream & out,
IteratorT begin,
IteratorT end,
const PolicyT & policy )
inline

Definition at line 171 of file container_logging.h.

◆ LookupOrInsert()

template<class Collection>
Collection::value_type::second_type & gtl::LookupOrInsert ( Collection *const collection,
const typename Collection::value_type::first_type & key,
const typename Collection::value_type::second_type & value )

Definition at line 242 of file map_util.h.

◆ operator<<()

template<typename IntTypeName, typename ValueType>
std::ostream & gtl::operator<< ( std::ostream & os,
IntType< IntTypeName, ValueType > arg )

Definition at line 284 of file int_type.h.

◆ release_ptr()

template<typename T>
ABSL_MUST_USE_RESULT T * gtl::release_ptr ( T ** ptr)

Definition at line 530 of file stl_util.h.

◆ reversed_view()

template<class Container>
ReverseView< Container > gtl::reversed_view ( const Container & c)

Definition at line 33 of file iterator_adaptors.h.

◆ SortedContainersHaveIntersection() [1/2]

template<typename In1, typename In2>
bool gtl::SortedContainersHaveIntersection ( const In1 & in1,
const In2 & in2 )

Definition at line 889 of file stl_util.h.

◆ SortedContainersHaveIntersection() [2/2]

template<typename In1, typename In2, typename Comp>
bool gtl::SortedContainersHaveIntersection ( const In1 & in1,
const In2 & in2,
Comp comparator )

Definition at line 883 of file stl_util.h.

◆ SortedRangesHaveIntersection() [1/2]

template<typename InputIterator1, typename InputIterator2>
bool gtl::SortedRangesHaveIntersection ( InputIterator1 begin1,
InputIterator1 end1,
InputIterator2 begin2,
InputIterator2 end2 )

Definition at line 872 of file stl_util.h.

◆ SortedRangesHaveIntersection() [2/2]

template<typename InputIterator1, typename InputIterator2, typename Comp>
bool gtl::SortedRangesHaveIntersection ( InputIterator1 begin1,
InputIterator1 end1,
InputIterator2 begin2,
InputIterator2 end2,
Comp comparator )

Definition at line 853 of file stl_util.h.

◆ STLAppendToString()

void gtl::STLAppendToString ( std::string * str,
const char * ptr,
size_t n )
inline

Definition at line 236 of file stl_util.h.

◆ STLAssignToString()

void gtl::STLAssignToString ( std::string * str,
const char * ptr,
size_t n )
inline

Definition at line 223 of file stl_util.h.

◆ STLClearHashIfBig()

template<typename T>
void gtl::STLClearHashIfBig ( T * obj,
size_t limit )
inline

Definition at line 177 of file stl_util.h.

◆ STLClearIfBig() [1/2]

template<typename T, typename A>
void gtl::STLClearIfBig ( std::deque< T, A > * obj,
size_t limit = 1 << 20 )
inline

Definition at line 151 of file stl_util.h.

◆ STLClearIfBig() [2/2]

template<typename T>
void gtl::STLClearIfBig ( T * obj,
size_t limit = 1 << 20 )
inline

Definition at line 142 of file stl_util.h.

◆ STLClearObject() [1/2]

template<typename T, typename A>
void gtl::STLClearObject ( std::deque< T, A > * obj)

Definition at line 129 of file stl_util.h.

◆ STLClearObject() [2/2]

template<typename T>
void gtl::STLClearObject ( T * obj)

Definition at line 120 of file stl_util.h.

◆ STLDeleteContainerPairFirstPointers()

template<typename ForwardIterator>
void gtl::STLDeleteContainerPairFirstPointers ( ForwardIterator begin,
ForwardIterator end )

Definition at line 335 of file stl_util.h.

◆ STLDeleteContainerPairPointers()

template<typename ForwardIterator>
void gtl::STLDeleteContainerPairPointers ( ForwardIterator begin,
ForwardIterator end )

Definition at line 322 of file stl_util.h.

◆ STLDeleteContainerPairSecondPointers()

template<typename ForwardIterator>
void gtl::STLDeleteContainerPairSecondPointers ( ForwardIterator begin,
ForwardIterator end )

Definition at line 350 of file stl_util.h.

◆ STLDeleteContainerPointers()

template<typename ForwardIterator>
void gtl::STLDeleteContainerPointers ( ForwardIterator begin,
ForwardIterator end )

Definition at line 311 of file stl_util.h.

◆ STLDeleteElements()

template<typename T>
void gtl::STLDeleteElements ( T * container)

Definition at line 369 of file stl_util.h.

◆ STLDeleteValues()

template<typename T>
void gtl::STLDeleteValues ( T * v)

Definition at line 379 of file stl_util.h.

◆ STLEraseAllFromSequence() [1/3]

template<typename T, typename A, typename E>
void gtl::STLEraseAllFromSequence ( std::forward_list< T, A > * c,
const E & e )

Definition at line 98 of file stl_util.h.

◆ STLEraseAllFromSequence() [2/3]

template<typename T, typename A, typename E>
void gtl::STLEraseAllFromSequence ( std::list< T, A > * c,
const E & e )

Definition at line 94 of file stl_util.h.

◆ STLEraseAllFromSequence() [3/3]

template<typename T, typename E>
void gtl::STLEraseAllFromSequence ( T * v,
const E & e )

Definition at line 90 of file stl_util.h.

◆ STLEraseAllFromSequenceIf() [1/3]

template<typename T, typename A, typename P>
void gtl::STLEraseAllFromSequenceIf ( std::forward_list< T, A > * c,
P pred )

Definition at line 112 of file stl_util.h.

◆ STLEraseAllFromSequenceIf() [2/3]

template<typename T, typename A, typename P>
void gtl::STLEraseAllFromSequenceIf ( std::list< T, A > * c,
P pred )

Definition at line 108 of file stl_util.h.

◆ STLEraseAllFromSequenceIf() [3/3]

template<typename T, typename P>
void gtl::STLEraseAllFromSequenceIf ( T * v,
P pred )

Definition at line 104 of file stl_util.h.

◆ STLIncludes() [1/2]

template<typename In1, typename In2>
bool gtl::STLIncludes ( const In1 & a,
const In2 & b )

Definition at line 836 of file stl_util.h.

◆ STLIncludes() [2/2]

template<typename In1, typename In2, typename Compare>
bool gtl::STLIncludes ( const In1 & a,
const In2 & b,
Compare compare )

Definition at line 826 of file stl_util.h.

◆ STLSetDifference() [1/5]

template<typename In1>
In1 gtl::STLSetDifference ( const In1 & a,
const In1 & b )

Definition at line 637 of file stl_util.h.

◆ STLSetDifference() [2/5]

template<typename In1, typename In2>
In1 gtl::STLSetDifference ( const In1 & a,
const In2 & b )

Definition at line 633 of file stl_util.h.

◆ STLSetDifference() [3/5]

template<typename In1, typename In2, typename Compare>
In1 gtl::STLSetDifference ( const In1 & a,
const In2 & b,
Compare compare )

Definition at line 628 of file stl_util.h.

◆ STLSetDifference() [4/5]

template<typename In1, typename In2, typename Out>
std::enable_if<!std::is_function< Out >::value, void >::type gtl::STLSetDifference ( const In1 & a,
const In2 & b,
Out * out )

Definition at line 610 of file stl_util.h.

◆ STLSetDifference() [5/5]

template<typename In1, typename In2, typename Out, typename Compare>
void gtl::STLSetDifference ( const In1 & a,
const In2 & b,
Out * out,
Compare compare )

Definition at line 592 of file stl_util.h.

◆ STLSetDifferenceAs() [1/2]

template<typename Out, typename In1, typename In2>
Out gtl::STLSetDifferenceAs ( const In1 & a,
const In2 & b )

Definition at line 622 of file stl_util.h.

◆ STLSetDifferenceAs() [2/2]

template<typename Out, typename In1, typename In2, typename Compare>
Out gtl::STLSetDifferenceAs ( const In1 & a,
const In2 & b,
Compare compare )

Definition at line 615 of file stl_util.h.

◆ STLSetIntersection() [1/5]

template<typename In1>
In1 gtl::STLSetIntersection ( const In1 & a,
const In1 & b )

Definition at line 819 of file stl_util.h.

◆ STLSetIntersection() [2/5]

template<typename In1, typename In2>
In1 gtl::STLSetIntersection ( const In1 & a,
const In2 & b )

Definition at line 815 of file stl_util.h.

◆ STLSetIntersection() [3/5]

template<typename In1, typename In2, typename Compare>
In1 gtl::STLSetIntersection ( const In1 & a,
const In2 & b,
Compare compare )

Definition at line 811 of file stl_util.h.

◆ STLSetIntersection() [4/5]

template<typename In1, typename In2, typename Out>
std::enable_if<!std::is_function< Out >::value, void >::type gtl::STLSetIntersection ( const In1 & a,
const In2 & b,
Out * out )

Definition at line 795 of file stl_util.h.

◆ STLSetIntersection() [5/5]

template<typename In1, typename In2, typename Out, typename Compare>
void gtl::STLSetIntersection ( const In1 & a,
const In2 & b,
Out * out,
Compare compare )

Definition at line 778 of file stl_util.h.

◆ STLSetIntersectionAs() [1/2]

template<typename Out, typename In1, typename In2>
Out gtl::STLSetIntersectionAs ( const In1 & a,
const In2 & b )

Definition at line 806 of file stl_util.h.

◆ STLSetIntersectionAs() [2/2]

template<typename Out, typename In1, typename In2, typename Compare>
Out gtl::STLSetIntersectionAs ( const In1 & a,
const In2 & b,
Compare compare )

Definition at line 800 of file stl_util.h.

◆ STLSetSymmetricDifference() [1/5]

template<typename In1>
In1 gtl::STLSetSymmetricDifference ( const In1 & a,
const In1 & b )

Definition at line 758 of file stl_util.h.

◆ STLSetSymmetricDifference() [2/5]

template<typename In1, typename In2>
In1 gtl::STLSetSymmetricDifference ( const In1 & a,
const In2 & b )

Definition at line 753 of file stl_util.h.

◆ STLSetSymmetricDifference() [3/5]

template<typename In1, typename In2, typename Compare>
In1 gtl::STLSetSymmetricDifference ( const In1 & a,
const In2 & b,
Compare comp )

Definition at line 749 of file stl_util.h.

◆ STLSetSymmetricDifference() [4/5]

template<typename In1, typename In2, typename Out>
std::enable_if<!std::is_function< Out >::value, void >::type gtl::STLSetSymmetricDifference ( const In1 & a,
const In2 & b,
Out * out )

Definition at line 733 of file stl_util.h.

◆ STLSetSymmetricDifference() [5/5]

template<typename In1, typename In2, typename Out, typename Compare>
void gtl::STLSetSymmetricDifference ( const In1 & a,
const In2 & b,
Out * out,
Compare compare )

Definition at line 715 of file stl_util.h.

◆ STLSetSymmetricDifferenceAs() [1/2]

template<typename Out, typename In1, typename In2>
Out gtl::STLSetSymmetricDifferenceAs ( const In1 & a,
const In2 & b )

Definition at line 744 of file stl_util.h.

◆ STLSetSymmetricDifferenceAs() [2/2]

template<typename Out, typename In1, typename In2, typename Compare>
Out gtl::STLSetSymmetricDifferenceAs ( const In1 & a,
const In2 & b,
Compare comp )

Definition at line 738 of file stl_util.h.

◆ STLSetUnion() [1/5]

template<typename In1>
In1 gtl::STLSetUnion ( const In1 & a,
const In1 & b )

Definition at line 695 of file stl_util.h.

◆ STLSetUnion() [2/5]

template<typename In1, typename In2>
In1 gtl::STLSetUnion ( const In1 & a,
const In2 & b )

Definition at line 691 of file stl_util.h.

◆ STLSetUnion() [3/5]

template<typename In1, typename In2, typename Compare>
In1 gtl::STLSetUnion ( const In1 & a,
const In2 & b,
Compare compare )

Definition at line 687 of file stl_util.h.

◆ STLSetUnion() [4/5]

template<typename In1, typename In2, typename Out>
std::enable_if<!std::is_function< Out >::value, void >::type gtl::STLSetUnion ( const In1 & a,
const In2 & b,
Out * out )

Definition at line 672 of file stl_util.h.

◆ STLSetUnion() [5/5]

template<typename In1, typename In2, typename Out, typename Compare>
void gtl::STLSetUnion ( const In1 & a,
const In2 & b,
Out * out,
Compare compare )

Definition at line 656 of file stl_util.h.

◆ STLSetUnionAs() [1/2]

template<typename Out, typename In1, typename In2>
Out gtl::STLSetUnionAs ( const In1 & a,
const In2 & b )

Definition at line 683 of file stl_util.h.

◆ STLSetUnionAs() [2/2]

template<typename Out, typename In1, typename In2, typename Compare>
Out gtl::STLSetUnionAs ( const In1 & a,
const In2 & b,
Compare compare )

Definition at line 677 of file stl_util.h.

◆ STLSortAndRemoveDuplicates() [1/2]

template<typename T>
void gtl::STLSortAndRemoveDuplicates ( T * v)
inline

Definition at line 62 of file stl_util.h.

◆ STLSortAndRemoveDuplicates() [2/2]

template<typename T, typename LessFunc>
void gtl::STLSortAndRemoveDuplicates ( T * v,
const LessFunc & less_func )
inline

Definition at line 55 of file stl_util.h.

◆ STLStableSortAndRemoveDuplicates() [1/2]

template<typename T>
void gtl::STLStableSortAndRemoveDuplicates ( T * v)
inline

Definition at line 82 of file stl_util.h.

◆ STLStableSortAndRemoveDuplicates() [2/2]

template<typename T, typename LessFunc>
void gtl::STLStableSortAndRemoveDuplicates ( T * v,
const LessFunc & less_func )
inline

Definition at line 72 of file stl_util.h.

◆ STLStringReserveIfNeeded()

void gtl::STLStringReserveIfNeeded ( std::string * s,
size_t min_capacity )
inline

Definition at line 191 of file stl_util.h.

◆ STLStringResizeUninitialized()

template<typename T, typename Traits, typename Alloc>
void gtl::STLStringResizeUninitialized ( std::basic_string< T, Traits, Alloc > * s,
size_t new_size )
inline

Definition at line 200 of file stl_util.h.

◆ STLStringSupportsNontrashingResize()

template<typename T, typename Traits, typename Alloc>
bool gtl::STLStringSupportsNontrashingResize ( const std::basic_string< T, Traits, Alloc > & s)
inline

Definition at line 211 of file stl_util.h.

◆ string_as_array()

char * gtl::string_as_array ( std::string * str)
inline

Definition at line 257 of file stl_util.h.

◆ to_array() [1/2]

template<typename T, std::size_t N>
std::array< std::remove_cv_t< T >, N > gtl::to_array ( T(&&) ts[N])
constexpr

Definition at line 49 of file array.h.

◆ to_array() [2/2]

template<typename T, std::size_t N>
std::array< std::remove_cv_t< T >, N > gtl::to_array ( T(&) ts[N])
constexpr

Definition at line 44 of file array.h.

Variable Documentation

◆ ABSL_ATTRIBUTE_PACKED

class gtl::IntType gtl::ABSL_ATTRIBUTE_PACKED