#include <cstdio>
#include <type_traits>
Go to the source code of this file.
|
| namespace | zypp |
| | Easy-to use interface to the ZYPP dependency resolver.
|
| |
|
| #define | for_(IT, BEG, END) for ( __typeof__(BEG) IT = BEG, _for_end = END; IT != _for_end; ++IT ) |
| | Convenient for-loops using iterator.
|
| |
| #define | for_each_(IT, CONT) for_( IT, (CONT).begin(), (CONT).end() ) |
| |
| #define | arrayBegin(A) (&A[0]) |
| | Simple C-array iterator.
|
| |
| #define | arraySize(A) (sizeof(A)/sizeof(*A)) |
| |
| #define | arrayEnd(A) (&A[0] + arraySize(A)) |
| |
| #define | defConstStr(FNC, STR) inline const std::string & FNC { static const std::string val( STR ); return val; } |
| |
| #define | GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) |
| |
| #define | nullptr NULL |
| |
| #define | NON_COPYABLE(CLASS) |
| | Delete copy ctor and copy assign.
|
| |
| #define | DEFAULT_COPYABLE(CLASS) |
| | Default copy ctor and copy assign.
|
| |
| #define | NON_MOVABLE(CLASS) |
| | Delete move ctor and move assign.
|
| |
| #define | DEFAULT_MOVABLE(CLASS) |
| | Default move ctor and move assign.
|
| |
| #define | NON_COPYABLE_BUT_MOVE(CLASS) |
| | Delete copy ctor and copy assign but enable default move.
|
| |
| #define | NON_MOVABLE_BUT_COPY(CLASS) |
| | Default move ctor and move assign but enable default copy.
|
| |
|
| template<typename TBase , typename TDerived > |
| using | disable_use_as_copy_ctor = typename std::enable_if<!std::is_base_of< TBase, typename std::remove_reference< TDerived >::type >::value >::type |
| | Prevent an universal ctor to be chosen as copy ctor.
|
| |
| #define for_ |
( |
|
IT, |
|
|
|
BEG, |
|
|
|
END |
|
) |
| for ( __typeof__(BEG) IT = BEG, _for_end = END; IT != _for_end; ++IT ) |
Convenient for-loops using iterator.
std::set<std::string>; _store;
for_( it, _store.begin(), _store.end() )
{
cout << *it << endl;
}
Definition at line 28 of file Easy.h.
| #define for_each_ |
( |
|
IT, |
|
|
|
CONT |
|
) |
| for_( IT, (CONT).begin(), (CONT).end() ) |
| #define arrayBegin |
( |
|
A | ) |
(&A[0]) |
Simple C-array iterator.
const char * defstrings[] = { "", "a", "default", "two words" };
cout << *it << endl;
Definition at line 41 of file Easy.h.
| #define arraySize |
( |
|
A | ) |
(sizeof(A)/sizeof(*A)) |
| #define defConstStr |
( |
|
FNC, |
|
|
|
STR |
|
) |
| inline const std::string & FNC { static const std::string val( STR ); return val; } |
| #define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) |
| #define NON_COPYABLE |
( |
|
CLASS | ) |
|
Value:CLASS( const CLASS & ) = delete; \
CLASS & operator=( const CLASS & ) = delete
Delete copy ctor and copy assign.
Definition at line 59 of file Easy.h.
| #define DEFAULT_COPYABLE |
( |
|
CLASS | ) |
|
Value:CLASS( const CLASS & ) = default; \
CLASS & operator=( const CLASS & ) = default
Default copy ctor and copy assign.
Definition at line 64 of file Easy.h.
| #define NON_MOVABLE |
( |
|
CLASS | ) |
|
Value:CLASS( CLASS && ) = delete; \
CLASS & operator=( CLASS && ) = delete
Delete move ctor and move assign.
Definition at line 70 of file Easy.h.
| #define DEFAULT_MOVABLE |
( |
|
CLASS | ) |
|
Value:CLASS( CLASS && ) = default; \
CLASS & operator=( CLASS && ) = default
Default move ctor and move assign.
Definition at line 75 of file Easy.h.
| #define NON_COPYABLE_BUT_MOVE |
( |
|
CLASS | ) |
|
Value:
Delete copy ctor and copy assign but enable default move.
Definition at line 84 of file Easy.h.
| #define NON_MOVABLE_BUT_COPY |
( |
|
CLASS | ) |
|
Value:
Default move ctor and move assign but enable default copy.
Definition at line 89 of file Easy.h.
template<typename TBase , typename TDerived >
| using disable_use_as_copy_ctor = typename std::enable_if<!std::is_base_of<TBase,typename std::remove_reference<TDerived>::type>::value>::type |
Prevent an universal ctor to be chosen as copy ctor.
struct FeedStrings
{
template<typename TARG, typename X = disable_use_as_copy_ctor<FeedStrings,TARG>>
FeedStrings( TARG && arg_r )
:
_value { std::forward<TARG>( arg_r ) }
{}
template<typename ... Us>
FeedStrings( Us &&... us )
: ...
private:
Definition at line 113 of file Easy.h.