Fixed MacOS build

The LLVM STL implementation does not recognize "typedef void iterator_traits"
as dummy declaration. It will fall back to an empty traits struct.
Using the default "forward_iterator_tag" for the iterator_traits solves
this compile issue.
This commit is contained in:
klayoutmatthias 2017-12-11 23:19:01 +00:00 committed by Matthias Koefferlein
parent bbe87ad5d9
commit b49db04fb4
5 changed files with 7 additions and 5 deletions

View File

@ -1208,7 +1208,7 @@ struct array_iterator
typedef void pointer_type;
typedef void difference_type;
typedef void pointer;
typedef void iterator_category;
typedef std::forward_iterator_tag iterator_category;
/**
* @brief The default constructor

View File

@ -70,7 +70,7 @@ struct LayoutQueryIteratorWrapper
{
typedef db::LayoutQueryIterator &reference;
// Dummy declarations
typedef void iterator_category;
typedef std::forward_iterator_tag iterator_category;
typedef void value_type;
typedef void difference_type;
typedef void pointer;

View File

@ -954,7 +954,7 @@ struct ConvertingIteratorWrapper
typedef T value_type;
typedef T reference;
typedef void pointer;
typedef void iterator_category;
typedef std::forward_iterator_tag iterator_category;
ConvertingIteratorWrapper (double dbu, const I &b, const I &e)
: m_b (b), m_e (e), m_dbu (dbu)
@ -989,7 +989,7 @@ struct ConvertingFreeIteratorWrapper
typedef T value_type;
typedef T reference;
typedef void pointer;
typedef void iterator_category;
typedef std::forward_iterator_tag iterator_category;
ConvertingFreeIteratorWrapper (double dbu, const I &b)
: m_b (b), m_dbu (dbu)

View File

@ -28,6 +28,8 @@
#include "tlTypeTraits.h"
#include "gsiSerialisation.h"
#include <iterator>
// For a comprehensive documentation see gsi.h
namespace gsi

View File

@ -320,7 +320,7 @@ namespace {
typedef lay::LayerPropertiesNodeRef value_type;
typedef lay::LayerPropertiesNodeRef reference;
// Dummy declarations required for std::iterator_traits
typedef void iterator_category;
typedef std::forward_iterator_tag iterator_category;
typedef void difference_type;
typedef void pointer;