Added get_iterator() methods

This commit is contained in:
John Wellbelove 2015-08-28 20:29:03 +01:00
parent 2ff32193d6
commit ddf0769854
9 changed files with 1379 additions and 269 deletions

View File

@ -32,90 +32,125 @@ SOFTWARE.
#include <iterator>
///\defgroup iterator Iterator types
namespace etl
{
/// A fixed iterator class.
/// This iterator can be given an iterator value, which will not be allowed to be incremented or decremented.
/// This can be useful when using STL algorithms to interact with fixed memory locations such as registers.
///\ingroup iterator
template <typename TIterator>
class fixed_iterator : public std::iterator<std::random_access_iterator_tag, TIterator>
class fixed_iterator : std::iterator<typename std::iterator_traits<TIterator>::iterator_category, typename std::iterator_traits<TIterator>::value_type>
{
public:
//***************************************************************************
/// Default constructor.
//***************************************************************************
fixed_iterator()
: it(TIterator())
{}
{
}
//***************************************************************************
/// Construct from iterator.
//***************************************************************************
fixed_iterator(TIterator it)
: it(it)
{
}
//***************************************************************************
/// Increment (Does nothing).
//***************************************************************************
fixed_iterator& operator ++()
{
return *this;
}
//***************************************************************************
/// Increment (Does nothing).
//***************************************************************************
fixed_iterator operator ++(int)
{
return *this;
}
//***************************************************************************
/// Decrement (Does nothing).
//***************************************************************************
fixed_iterator& operator --()
{
return *this;
}
//***************************************************************************
/// Decrement (Does nothing).
//***************************************************************************
fixed_iterator operator --(int)
{
return *this;
}
//***************************************************************************
/// Dereference operator.
//***************************************************************************
typename std::iterator_traits<TIterator>::value_type operator *()
{
return *it;
}
//***************************************************************************
/// Dereference operator.
//***************************************************************************
const typename std::iterator_traits<TIterator>::value_type operator *() const
{
return *it;
}
//***************************************************************************
/// -> operator.
//***************************************************************************
TIterator operator ->()
{
return it;
}
//***************************************************************************
/// -> operator.
//***************************************************************************
const TIterator operator ->() const
{
return it;
}
//***************************************************************************
/// Conversion operator.
//***************************************************************************
operator TIterator() const
{
return it;
}
//***************************************************************************
/// += operator.
//***************************************************************************
fixed_iterator& operator +=(typename std::iterator_traits<TIterator>::difference_type offset)
{
return *this;
}
//***************************************************************************
/// -= operator.
//***************************************************************************
fixed_iterator& operator -=(typename std::iterator_traits<TIterator>::difference_type offset)
{
return *this;
}
//***************************************************************************
/// Assignment from iterator.
//***************************************************************************
fixed_iterator& operator =(TIterator new_it)
{
@ -124,23 +159,22 @@ namespace etl
}
//***************************************************************************
void set(TIterator new_it)
{
it = new_it;
}
/// Assignment from fixed_iterator.
//***************************************************************************
const TIterator& get() const
fixed_iterator& operator =(fixed_iterator other)
{
return it;
it = other.it;
return *this;
}
private:
TIterator it; ///< The underlying iterator.
};
//*****************************************************************************
//***************************************************************************
/// Makes a fixed_iterator from an iterator.
//***************************************************************************
template <typename TIterator>
fixed_iterator<TIterator> make_fixed_iterator(TIterator it)
{
@ -148,6 +182,8 @@ namespace etl
}
}
//*****************************************************************************
/// + difference operator.
//*****************************************************************************
template <typename TIterator>
etl::fixed_iterator<TIterator>& operator +(etl::fixed_iterator<TIterator>& lhs,
@ -156,6 +192,8 @@ etl::fixed_iterator<TIterator>& operator +(etl::fixed_iterator<TIterator>& lhs,
return lhs;
}
//*****************************************************************************
/// - difference operator.
//*****************************************************************************
template <typename TIterator>
etl::fixed_iterator<TIterator>& operator -(etl::fixed_iterator<TIterator>& lhs,
@ -164,39 +202,49 @@ etl::fixed_iterator<TIterator>& operator -(etl::fixed_iterator<TIterator>& lhs,
return lhs;
}
//*****************************************************************************
/// - fixed_iterator operator.
//*****************************************************************************
template <typename TIterator>
typename std::iterator_traits<TIterator>::difference_type operator -(etl::fixed_iterator<TIterator>& lhs,
etl::fixed_iterator<TIterator>& rhs)
{
return lhs.get() - rhs.get();
return TIterator(lhs) - TIterator(rhs);
}
//*****************************************************************************
/// Equality operator. fixed_iterator == fixed_iterator.
//*****************************************************************************
template <typename TIterator>
bool operator ==(const etl::fixed_iterator<TIterator>& lhs,
const etl::fixed_iterator<TIterator>& rhs)
{
return lhs.get() == rhs.get();
return TIterator(lhs) == TIterator(rhs);
}
//*****************************************************************************
/// Equality operator. fixed_iterator == iterator.
//*****************************************************************************
template <typename TIterator>
bool operator ==(const etl::fixed_iterator<TIterator>& lhs,
TIterator rhs)
{
return lhs.get() == rhs;
return TIterator(lhs) == rhs;
}
//*****************************************************************************
/// Equality operator. iterator == fixed_iterator.
//*****************************************************************************
template <typename TIterator>
bool operator ==(TIterator lhs,
const etl::fixed_iterator<TIterator>& rhs)
{
return lhs == rhs.get();
return lhs == TIterator(rhs);
}
//*****************************************************************************
/// Inequality operator. fixed_iterator == fixed_iterator.
//*****************************************************************************
template <typename TIterator>
bool operator !=(const etl::fixed_iterator<TIterator>& lhs,
@ -205,6 +253,8 @@ bool operator !=(const etl::fixed_iterator<TIterator>& lhs,
return !(lhs == rhs);
}
//*****************************************************************************
/// Inequality operator. fixed_iterator == iterator.
//*****************************************************************************
template <typename TIterator>
bool operator !=(const etl::fixed_iterator<TIterator>& lhs,
@ -213,6 +263,8 @@ bool operator !=(const etl::fixed_iterator<TIterator>& lhs,
return !(lhs == rhs);
}
//*****************************************************************************
/// Inequality operator. iterator == fixed_iterator.
//*****************************************************************************
template <typename TIterator>
bool operator !=(TIterator& lhs,

View File

@ -54,6 +54,62 @@ namespace etl
public:
class iterator
{
typedef io_port_rw<T, ADDRESS> iop_t;
public:
iterator(iop_t& iop)
: p_iop(&iop)
{
}
iterator(const iterator& other)
: p_iop(other)
{
}
iterator& operator =(const iterator& other)
{
p_iop = other.p_iop;
}
iop_t& operator *()
{
return *p_iop;
}
const iop_t& operator *() const
{
return *p_iop;
}
iterator& operator ++()
{
return *this;
}
iterator operator ++(int)
{
return *this;
}
iterator& operator --()
{
return *this;
}
iterator operator --(int)
{
return *this;
}
private:
iop_t* p_iop;
};
/// Read.
operator T() volatile const
{
@ -78,6 +134,12 @@ namespace etl
{
return reinterpret_cast<pointer_t>(ADDRESS);
}
/// Get the iterator.
iterator get_iterator()
{
return iterator(*this);
}
};
//***************************************************************************

57
ipool.h
View File

@ -457,7 +457,7 @@ namespace etl
/// \param p_object A pointer to the object to be checked.
/// \return <b>true<\b> if it does, otherwise <b>false</b>
//*************************************************************************
bool is_in_pool(const T* const p_object) const
bool is_in_pool(const T* p_object) const
{
// Does this object belong to this pool?
typename std::iterator_traits<T*>::difference_type distance = p_object - p_buffer;
@ -466,6 +466,61 @@ namespace etl
return ((distance >= 0) && (distance < static_cast<typename std::iterator_traits<T*>::difference_type>(MAX_SIZE)));
}
//*************************************************************************
/// Gets the iterator to the object.
/// If the object is not in the pool then end() is returned.
/// \param object A const reference to the object to be checked.
/// \return An iterator to the object or end().
//*************************************************************************
iterator get_iterator(T& object)
{
if (is_in_pool(object))
{
iterator i_object = begin();
while (i_object != end())
{
// Same one?
if (&object == &*i_object)
{
return i_object;
}
++i_object;
}
}
return end();
}
//*************************************************************************
/// Gets the const_iterator to the object.
/// If the object is not in the pool then end() is returned.
/// \param object A const reference to the object to be checked.
/// \return An const_iterator to the object or end().
//*************************************************************************
const_iterator get_iterator(const T& object) const
{
if (is_in_pool(object))
{
const_iterator i_object = begin();
while (i_object != end())
{
// Same one?
if (&object == &*i_object)
{
return i_object;
}
++i_object;
}
}
return end();
}
protected:
//*************************************************************************

View File

@ -2621,3 +2621,941 @@
1424726109 /mnt/hgfs/Programming/GitHub/etl/visitor.h
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\assertexception.cpp
"AssertException.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\assertexception.h
"Config.h"
"HelperMacros.h"
<exception>
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\config.h
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\helpermacros.h
"Config.h"
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\checks.cpp
"Checks.h"
<cstring>
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\checks.h
"Config.h"
"TestResults.h"
"MemoryOutStream.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\testresults.h
"HelperMacros.h"
1417973669 d:\users\john\documents\programming\github\unittest-cpp\unittest++\memoryoutstream.h
"Config.h"
"HelperMacros.h"
<sstream>
<cstddef>
1417973661 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\compositetestreporter.cpp
"CompositeTestReporter.h"
<cstddef>
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\compositetestreporter.h
"TestReporter.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\testreporter.h
"HelperMacros.h"
1417973667 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\currenttest.cpp
"CurrentTest.h"
<cstddef>
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\currenttest.h
"HelperMacros.h"
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\deferredtestreporter.cpp
"Config.h"
"DeferredTestReporter.h"
"TestDetails.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\deferredtestreporter.h
"Config.h"
"TestReporter.h"
"DeferredTestResult.h"
<vector>
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\deferredtestresult.h
"Config.h"
"HelperMacros.h"
<string>
<vector>
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\testdetails.h
"HelperMacros.h"
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\deferredtestresult.cpp
"Config.h"
"DeferredTestResult.h"
<cstring>
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\memoryoutstream.cpp
"MemoryOutStream.h"
<cstring>
<cstdio>
1417875047 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\posix\signaltranslator.cpp
"SignalTranslator.h"
1417875049 d:\users\john\documents\programming\github\unittest-cpp\unittest++\posix\signaltranslator.h
<setjmp.h>
<signal.h>
1417875051 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\posix\timehelpers.cpp
"TimeHelpers.h"
<unistd.h>
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\posix\timehelpers.h
<sys/time.h>
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\reportassert.cpp
"ReportAssert.h"
"ReportAssertImpl.h"
"AssertException.h"
"CurrentTest.h"
"TestResults.h"
"TestDetails.h"
"ReportAssertImpl.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\reportassert.h
"HelperMacros.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\reportassertimpl.h
"Config.h"
"HelperMacros.h"
<csetjmp>
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\test.cpp
"Config.h"
"Test.h"
"TestList.h"
"TestResults.h"
"AssertException.h"
"MemoryOutStream.h"
"ExecuteTest.h"
"Posix/SignalTranslator.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\test.h
"TestDetails.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\testlist.h
"HelperMacros.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\executetest.h
"Config.h"
"ExceptionMacros.h"
"TestDetails.h"
"TestResults.h"
"MemoryOutStream.h"
"AssertException.h"
"CurrentTest.h"
"ReportAssertImpl.h"
"Posix/SignalTranslator.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\exceptionmacros.h
"Config.h"
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\testdetails.cpp
"TestDetails.h"
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\testlist.cpp
"TestList.h"
"Test.h"
<cassert>
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\testreporter.cpp
"TestReporter.h"
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\testreporterstdout.cpp
"TestReporterStdout.h"
<cstdio>
"TestDetails.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\testreporterstdout.h
"TestReporter.h"
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\testresults.cpp
"TestResults.h"
"TestReporter.h"
"TestDetails.h"
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\testrunner.cpp
"TestRunner.h"
"TestResults.h"
"TestReporter.h"
"TestReporterStdout.h"
"TimeHelpers.h"
"MemoryOutStream.h"
<cstring>
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\testrunner.h
"Test.h"
"TestList.h"
"CurrentTest.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\timehelpers.h
"Config.h"
"Posix/TimeHelpers.h"
"Win32/TimeHelpers.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\win32\timehelpers.h
"../Config.h"
"../HelperMacros.h"
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\timeconstraint.cpp
"TimeConstraint.h"
"TestResults.h"
"MemoryOutStream.h"
"CurrentTest.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\timeconstraint.h
"TimeHelpers.h"
"HelperMacros.h"
1414849210 source:d:\users\john\documents\programming\github\unittest-cpp\unittest++\xmltestreporter.cpp
"Config.h"
"XmlTestReporter.h"
<iostream>
<sstream>
<string>
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\xmltestreporter.h
"Config.h"
"DeferredTestReporter.h"
<iosfwd>
1424729709 source:d:\users\john\documents\programming\github\etl\crc16.cpp
<stdint.h>
1424729709 source:d:\users\john\documents\programming\github\etl\crc16_ccitt.cpp
<stdint.h>
1424729709 source:d:\users\john\documents\programming\github\etl\crc16_kermit.cpp
<stdint.h>
1424729709 source:d:\users\john\documents\programming\github\etl\crc32.cpp
<stdint.h>
1424729709 source:d:\users\john\documents\programming\github\etl\crc64_ecma.cpp
<stdint.h>
1424729709 source:d:\users\john\documents\programming\github\etl\crc8_ccitt.cpp
<stdint.h>
1424729709 source:d:\users\john\documents\programming\github\etl\error_handler.cpp
"error_handler.h"
"nullptr.h"
1440541180 d:\users\john\documents\programming\github\etl\error_handler.h
"exception.h"
"function.h"
1424729709 d:\users\john\documents\programming\github\etl\exception.h
1424729709 d:\users\john\documents\programming\github\etl\function.h
1424729709 d:\users\john\documents\programming\github\etl\nullptr.h
1424729709 source:d:\users\john\documents\programming\github\etl\test\main.cpp
<UnitTest++/UnitTest++.h>
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\unittest++.h
"UnitTestPP.h"
1414849210 d:\users\john\documents\programming\github\unittest-cpp\unittest++\unittestpp.h
"Config.h"
"TestMacros.h"
"CheckMacros.h"
"TestRunner.h"
"TimeConstraint.h"
"ReportAssert.h"
1416833504 d:\users\john\documents\programming\github\unittest-cpp\unittest++\testmacros.h
"Config.h"
"TestSuite.h"
"ExceptionMacros.h"
"ExecuteTest.h"
"AssertException.h"
"TestDetails.h"
"MemoryOutStream.h"
"Posix/SignalTranslator.h"
1416833496 d:\users\john\documents\programming\github\unittest-cpp\unittest++\testsuite.h
1414931290 d:\users\john\documents\programming\github\unittest-cpp\unittest++\checkmacros.h
"HelperMacros.h"
"ExceptionMacros.h"
"Checks.h"
"AssertException.h"
"MemoryOutStream.h"
"TestDetails.h"
"CurrentTest.h"
"ReportAssertImpl.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_algorithm.cpp
<UnitTest++/UnitTest++.h>
"../algorithm.h"
"../container.h"
<vector>
<algorithm>
<functional>
<numeric>
1424729709 d:\users\john\documents\programming\github\etl\algorithm.h
<algorithm>
<iterator>
<utility>
<functional>
"type_traits.h"
1440542177 d:\users\john\documents\programming\github\etl\type_traits.h
<stddef.h>
"nullptr.h"
1424729709 d:\users\john\documents\programming\github\etl\container.h
<stddef.h>
<iterator>
1427743929 source:d:\users\john\documents\programming\github\etl\test\test_alignment.cpp
<UnitTest++/UnitTest++.h>
"../alignment.h"
"../type_traits.h"
<type_traits>
<utility>
<string>
<ostream>
1428248631 d:\users\john\documents\programming\github\etl\alignment.h
<stdint.h>
"type_traits.h"
"static_assert.h"
1424729709 d:\users\john\documents\programming\github\etl\static_assert.h
1428231585 source:d:\users\john\documents\programming\github\etl\test\test_array.cpp
<UnitTest++/UnitTest++.h>
"../array.h"
<array>
<algorithm>
<iterator>
"../integral_limits.h"
1424729709 d:\users\john\documents\programming\github\etl\array.h
<iterator>
<functional>
<algorithm>
<stddef.h>
"exception.h"
"type_traits.h"
"parameter_type.h"
"static_assert.h"
"error_handler.h"
1424729709 d:\users\john\documents\programming\github\etl\parameter_type.h
"type_traits.h"
1424729709 d:\users\john\documents\programming\github\etl\integral_limits.h
<climits>
<stddef.h>
"type_traits.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_binary.cpp
<UnitTest++/UnitTest++.h>
<cstdint>
"../binary.h"
"../bitset.h"
"../fnv_1.h"
"../integral_limits.h"
1427743929 d:\users\john\documents\programming\github\etl\binary.h
"type_traits.h"
"integral_limits.h"
"static_assert.h"
1427743929 d:\users\john\documents\programming\github\etl\bitset.h
<algorithm>
<iterator>
<string.h>
<stdint.h>
<stddef.h>
"integral_limits.h"
"smallest.h"
"array.h"
"nullptr.h"
"log.h"
"ibitset.h"
"binary.h"
1424729709 d:\users\john\documents\programming\github\etl\smallest.h
<stdint.h>
"integral_limits.h"
1424729709 d:\users\john\documents\programming\github\etl\log.h
<stddef.h>
1427743929 d:\users\john\documents\programming\github\etl\ibitset.h
"integral_limits.h"
1439929652 d:\users\john\documents\programming\github\etl\fnv_1.h
<stdint.h>
"static_assert.h"
"type_traits.h"
"endian.h"
"ihash.h"
1424729709 d:\users\john\documents\programming\github\etl\endian.h
<stdint.h>
"enum_type.h"
1424729709 d:\users\john\documents\programming\github\etl\enum_type.h
1439929669 d:\users\john\documents\programming\github\etl\ihash.h
<stdint.h>
<utility>
"exception.h"
"endian.h"
1427743929 source:d:\users\john\documents\programming\github\etl\test\test_bitset.cpp
<UnitTest++/UnitTest++.h>
<limits>
<type_traits>
<bitset>
"../bitset.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_bloom_filter.cpp
<UnitTest++/UnitTest++.h>
<stdlib.h>
<vector>
"../bloom_filter.h"
"../fnv_1.h"
"../crc16.h"
"../crc16_ccitt.h"
"../crc32.h"
1424729709 d:\users\john\documents\programming\github\etl\bloom_filter.h
"parameter_type.h"
"bitset.h"
"type_traits.h"
"log.h"
"power.h"
1424729709 d:\users\john\documents\programming\github\etl\power.h
<stddef.h>
"log.h"
1439929651 d:\users\john\documents\programming\github\etl\crc16.h
<stdint.h>
"static_assert.h"
"type_traits.h"
"endian.h"
"ihash.h"
1439929651 d:\users\john\documents\programming\github\etl\crc16_ccitt.h
<stdint.h>
"static_assert.h"
"type_traits.h"
"endian.h"
"ihash.h"
1439929652 d:\users\john\documents\programming\github\etl\crc32.h
<stdint.h>
"static_assert.h"
"type_traits.h"
"endian.h"
"ihash.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_checksum.cpp
<UnitTest++/UnitTest++.h>
<iterator>
<string>
<vector>
<stdint.h>
"../checksum.h"
"../endian.h"
1439929651 d:\users\john\documents\programming\github\etl\checksum.h
<stdint.h>
"static_assert.h"
"type_traits.h"
"endian.h"
"ihash.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_container.cpp
<UnitTest++/UnitTest++.h>
"../container.h"
<list>
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_crc.cpp
<UnitTest++/UnitTest++.h>
<iterator>
<string>
<vector>
<stdint.h>
"../crc8_ccitt.h"
"../crc16.h"
"../crc16_ccitt.h"
"../crc16_kermit.h"
"../crc32.h"
"../crc64_ecma.h"
"../endian.h"
1439929651 d:\users\john\documents\programming\github\etl\crc8_ccitt.h
<stdint.h>
"static_assert.h"
"type_traits.h"
"endian.h"
"ihash.h"
1439929652 d:\users\john\documents\programming\github\etl\crc16_kermit.h
<stdint.h>
"static_assert.h"
"type_traits.h"
"endian.h"
"ihash.h"
1439929652 d:\users\john\documents\programming\github\etl\crc64_ecma.h
<stdint.h>
"static_assert.h"
"type_traits.h"
"endian.h"
"ihash.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_cyclic_value.cpp
<UnitTest++/UnitTest++.h>
"../cyclic_value.h"
1424729709 d:\users\john\documents\programming\github\etl\cyclic_value.h
<stddef.h>
<algorithm>
"static_assert.h"
"exception.h"
1427745462 source:d:\users\john\documents\programming\github\etl\test\test_deque.cpp
<UnitTest++/UnitTest++.h>
"ExtraCheckMacros.h"
"../deque.h"
"data.h"
<vector>
<deque>
<algorithm>
<iostream>
<numeric>
1421966497 d:\users\john\documents\programming\github\etl\test\extracheckmacros.h
<UnitTest++/HelperMacros.h>
<UnitTest++/ExceptionMacros.h>
<UnitTest++/Checks.h>
<UnitTest++/AssertException.h>
<UnitTest++/MemoryOutStream.h>
<UnitTest++/TestDetails.h>
<UnitTest++/CurrentTest.h>
<UnitTest++/ReportAssertImpl.h>
1427743929 d:\users\john\documents\programming\github\etl\deque.h
<stddef.h>
<stdint.h>
<iterator>
<algorithm>
"ideque.h"
"container.h"
"alignment.h"
"array.h"
1424729709 d:\users\john\documents\programming\github\etl\ideque.h
<stddef.h>
<iterator>
"algorithm.h"
"type_traits.h"
"deque_base.h"
"parameter_type.h"
"error_handler.h"
1424729709 d:\users\john\documents\programming\github\etl\deque_base.h
<stddef.h>
"exception.h"
1424729709 d:\users\john\documents\programming\github\etl\test\data.h
<ostream>
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_endian.cpp
<UnitTest++/UnitTest++.h>
<string>
"../endian.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_enum_type.cpp
<UnitTest++/UnitTest++.h>
<string>
"../enum_type.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_error_handler.cpp
<UnitTest++/UnitTest++.h>
"../error_handler.h"
"../exception.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_exception.cpp
<UnitTest++/UnitTest++.h>
<string>
"../exception.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_flat_map.cpp
<UnitTest++/UnitTest++.h>
<map>
<array>
<algorithm>
<utility>
<iterator>
<string>
<vector>
"data.h"
"../flat_map.h"
1427743929 d:\users\john\documents\programming\github\etl\flat_map.h
<stddef.h>
<iterator>
<functional>
"iflat_map.h"
"vector.h"
1427743929 d:\users\john\documents\programming\github\etl\iflat_map.h
<iterator>
<algorithm>
<functional>
<utility>
<stddef.h>
"flat_map_base.h"
"type_traits.h"
"parameter_type.h"
"ivector.h"
"error_handler.h"
1424729709 d:\users\john\documents\programming\github\etl\flat_map_base.h
<stddef.h>
"exception.h"
"ivector.h"
"error_handler.h"
1440534443 d:\users\john\documents\programming\github\etl\ivector.h
<iterator>
<algorithm>
<functional>
<stddef.h>
"algorithm.h"
"vector_base.h"
"type_traits.h"
"parameter_type.h"
"error_handler.h"
1424729709 d:\users\john\documents\programming\github\etl\vector_base.h
<stddef.h>
"exception.h"
"error_handler.h"
1427743930 d:\users\john\documents\programming\github\etl\vector.h
<stddef.h>
<stdint.h>
<iterator>
"ivector.h"
"container.h"
"alignment.h"
"array.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_flat_set.cpp
<UnitTest++/UnitTest++.h>
<set>
<array>
<algorithm>
<utility>
<iterator>
<string>
<vector>
"data.h"
"../flat_set.h"
1427743929 d:\users\john\documents\programming\github\etl\flat_set.h
<stddef.h>
<iterator>
<functional>
"iflat_set.h"
"vector.h"
1427743929 d:\users\john\documents\programming\github\etl\iflat_set.h
<iterator>
<algorithm>
<functional>
<utility>
<stddef.h>
"flat_set_base.h"
"type_traits.h"
"parameter_type.h"
"ivector.h"
"error_handler.h"
1424729709 d:\users\john\documents\programming\github\etl\flat_set_base.h
<stddef.h>
"exception.h"
"ivector.h"
"error_handler.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_fnv_1.cpp
<UnitTest++/UnitTest++.h>
<iterator>
<string>
<vector>
<stdint.h>
"../fnv_1.h"
"../endian.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_forward_list.cpp
<UnitTest++/UnitTest++.h>
"ExtraCheckMacros.h"
"data.h"
"../forward_list.h"
<algorithm>
<array>
<forward_list>
<vector>
<string>
1424729709 d:\users\john\documents\programming\github\etl\forward_list.h
<stddef.h>
"pool.h"
"iforward_list.h"
"container.h"
1427743929 d:\users\john\documents\programming\github\etl\pool.h
"alignment.h"
"array.h"
"bitset.h"
"ipool.h"
<iterator>
1432558133 d:\users\john\documents\programming\github\etl\ipool.h
<iterator>
"pool_base.h"
"nullptr.h"
"error_handler.h"
1424729709 d:\users\john\documents\programming\github\etl\pool_base.h
<stddef.h>
"exception.h"
"error_handler.h"
1427743929 d:\users\john\documents\programming\github\etl\iforward_list.h
<iterator>
<algorithm>
<functional>
<stddef.h>
"pool.h"
"nullptr.h"
"forward_list_base.h"
"type_traits.h"
"parameter_type.h"
1424729709 d:\users\john\documents\programming\github\etl\forward_list_base.h
<stddef.h>
"exception.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_function.cpp
<UnitTest++/UnitTest++.h>
"../function.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_functional.cpp
<UnitTest++/UnitTest++.h>
"../functional.h"
<list>
<vector>
<numeric>
1424729709 d:\users\john\documents\programming\github\etl\functional.h
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_hash.cpp
<UnitTest++/UnitTest++.h>
<iterator>
<string>
<vector>
<stdint.h>
"../hash.h"
1424729709 d:\users\john\documents\programming\github\etl\hash.h
<stdint.h>
"fnv_1.h"
"type_traits.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_instance_count.cpp
<UnitTest++/UnitTest++.h>
"../instance_count.h"
<list>
<vector>
<numeric>
1424729709 d:\users\john\documents\programming\github\etl\instance_count.h
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_integral_limits.cpp
<UnitTest++/UnitTest++.h>
<limits>
<type_traits>
<bitset>
"../integral_limits.h"
1427743929 source:d:\users\john\documents\programming\github\etl\test\test_io_port.cpp
<UnitTest++/UnitTest++.h>
"../io_port.h"
<stdint.h>
1440542211 d:\users\john\documents\programming\github\etl\io_port.h
<stdint.h>
"nullptr.h"
"parameter_type.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_largest.cpp
<UnitTest++/UnitTest++.h>
"../largest.h"
<type_traits>
1424729709 d:\users\john\documents\programming\github\etl\largest.h
"type_traits.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_list.cpp
<UnitTest++/UnitTest++.h>
"ExtraCheckMacros.h"
"../list.h"
"data.h"
<algorithm>
<array>
<list>
<vector>
1424729709 d:\users\john\documents\programming\github\etl\list.h
<stddef.h>
"ilist.h"
"container.h"
"pool.h"
1427743929 d:\users\john\documents\programming\github\etl\ilist.h
<iterator>
<algorithm>
<functional>
<stddef.h>
"nullptr.h"
"list_base.h"
"type_traits.h"
"parameter_type.h"
"pool.h"
1424729709 d:\users\john\documents\programming\github\etl\list_base.h
<stddef.h>
"exception.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_maths.cpp
<UnitTest++/UnitTest++.h>
"../log.h"
"../power.h"
"../fibonacci.h"
"../factorial.h"
1424729709 d:\users\john\documents\programming\github\etl\fibonacci.h
<stddef.h>
1424729709 d:\users\john\documents\programming\github\etl\factorial.h
<stddef.h>
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_numeric.cpp
<UnitTest++/UnitTest++.h>
"../numeric.h"
<algorithm>
<numeric>
1424729709 d:\users\john\documents\programming\github\etl\numeric.h
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_observer.cpp
<UnitTest++/UnitTest++.h>
"../observer.h"
1424729709 d:\users\john\documents\programming\github\etl\observer.h
<algorithm>
"vector.h"
"exception.h"
"error_handler.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_queue.cpp
<UnitTest++/UnitTest++.h>
<queue>
"../queue.h"
1435086822 d:\users\john\documents\programming\github\etl\queue.h
<stddef.h>
<stdint.h>
"iqueue.h"
"container.h"
"alignment.h"
"array.h"
1435086822 d:\users\john\documents\programming\github\etl\iqueue.h
<stddef.h>
"queue_base.h"
"type_traits.h"
"parameter_type.h"
"error_handler.h"
1424729709 d:\users\john\documents\programming\github\etl\queue_base.h
<stddef.h>
"exception.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_smallest.cpp
<UnitTest++/UnitTest++.h>
"../smallest.h"
<type_traits>
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_stack.cpp
<UnitTest++/UnitTest++.h>
<stack>
"data.h"
"../stack.h"
1427743929 d:\users\john\documents\programming\github\etl\stack.h
<stddef.h>
<stdint.h>
<algorithm>
"istack.h"
"container.h"
"alignment.h"
"array.h"
1424729709 d:\users\john\documents\programming\github\etl\istack.h
<stddef.h>
"stack_base.h"
"type_traits.h"
"parameter_type.h"
"error_handler.h"
1424729709 d:\users\john\documents\programming\github\etl\stack_base.h
<stddef.h>
"exception.h"
1426202987 source:d:\users\john\documents\programming\github\etl\test\test_vector.cpp
<UnitTest++/UnitTest++.h>
<vector>
<array>
<algorithm>
"../vector.h"
1424729709 source:d:\users\john\documents\programming\github\etl\test\test_visitor.cpp
<UnitTest++/UnitTest++.h>
"../visitor.h"
1424729709 d:\users\john\documents\programming\github\etl\visitor.h
1439930014 source:d:\users\john\documents\programming\github\etl\test\test_fixed_iterator.cpp
<UnitTest++/UnitTest++.h>
<vector>
<ostream>
"../fixed_iterator.h"
1439929885 d:\users\john\documents\programming\github\etl\fixed_iterator.h
<iterator>

View File

@ -1,279 +1,284 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_layout_file>
<ActiveTarget name="Linux" />
<File name="../../../unittest-cpp/UnitTest++/Posix/SignalTranslator.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="616" topLine="0" />
</Cursor>
</File>
<File name="../../ilist.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="17660" topLine="539" />
</Cursor>
</File>
<File name="../../nullptr.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="560" topLine="78" />
</Cursor>
</File>
<File name="../test_bitset.cpp" open="0" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="17510" topLine="588" />
</Cursor>
</File>
<File name="../../function.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3693" topLine="67" />
</Cursor>
</File>
<File name="../test_bloom_filter.cpp" open="1" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6035" topLine="180" />
</Cursor>
</File>
<File name="../../ideque.h" open="0" top="0" tabpos="24" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="43136" topLine="1333" />
</Cursor>
</File>
<File name="../../iset.h" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1386" topLine="9" />
</Cursor>
</File>
<File name="../main.cpp" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="277" topLine="0" />
</Cursor>
</File>
<File name="../../bitset.h" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4838" topLine="145" />
</Cursor>
</File>
<File name="../../../unittest-cpp/UnitTest++/ExecuteTest.h" open="1" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\..\unittest-cpp\UnitTest++\ExecuteTest.h" open="1" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1247" topLine="4" />
</Cursor>
</File>
<File name="../../list.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5955" topLine="137" />
</Cursor>
</File>
<File name="../../Doxyfile" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="56760" topLine="1251" />
</Cursor>
</File>
<File name="../test_array.cpp" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2123" topLine="55" />
</Cursor>
</File>
<File name="../../../unittest-cpp/UnitTest++/Win32/TimeHelpers.cpp" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="257" topLine="0" />
</Cursor>
</File>
<File name="../test_deque.cpp" open="1" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="21475" topLine="641" />
</Cursor>
</File>
<File name="../test_hash.cpp" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4733" topLine="114" />
</Cursor>
</File>
<File name="../../integral_limits.h" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2272" topLine="36" />
</Cursor>
</File>
<File name="../../observer.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5579" topLine="130" />
</Cursor>
</File>
<File name="../../vector_base.h" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2307" topLine="19" />
</Cursor>
</File>
<File name="../../../unittest-cpp/UnitTest++/Config.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="773" topLine="0" />
</Cursor>
</File>
<File name="../../binary.h" open="0" top="0" tabpos="17" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="12327" topLine="338" />
</Cursor>
</File>
<File name="../../../unittest-cpp/UnitTest++/Test.cpp" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="662" topLine="0" />
</Cursor>
</File>
<File name="../../static_assert.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1356" topLine="10" />
</Cursor>
</File>
<File name="../../container.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2523" topLine="42" />
</Cursor>
</File>
<File name="../test_type_traits.cpp" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="34843" topLine="428" />
</Cursor>
</File>
<File name="../../ivector.h" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="14318" topLine="364" />
</Cursor>
</File>
<File name="../test_algorithm.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1544" topLine="0" />
</Cursor>
</File>
<File name="../../array.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1998" topLine="258" />
</Cursor>
</File>
<File name="../test_vector.cpp" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4094" topLine="90" />
</Cursor>
</File>
<File name="../test_optional.cpp" open="0" top="0" tabpos="23" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3050" topLine="59" />
</Cursor>
</File>
<File name="../../../unittest-cpp/UnitTest++/TestRunner.h" open="1" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="692" topLine="0" />
</Cursor>
</File>
<File name="../../bloom_filter.h" open="1" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3055" topLine="57" />
</Cursor>
</File>
<File name="../test_cyclic_value.cpp" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1365" topLine="12" />
</Cursor>
</File>
<File name="../../../unittest-cpp/UnitTest++/Win32/TimeHelpers.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="245" topLine="0" />
</Cursor>
</File>
<File name="../test_queue.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1603" topLine="28" />
</Cursor>
</File>
<File name="../test_map.cpp" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4405" topLine="112" />
</Cursor>
</File>
<File name="../test_io_port.cpp" open="0" top="0" tabpos="21" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\test_io_port.cpp" open="0" top="0" tabpos="21" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2724" topLine="58" />
</Cursor>
</File>
<File name="../../alignment.h" open="0" top="0" tabpos="25" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\io_port.h" open="1" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5607" topLine="134" />
<Cursor1 position="2314" topLine="48" />
</Cursor>
</File>
<File name="../../stack.h" open="0" top="0" tabpos="16" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\array.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3203" topLine="57" />
<Cursor1 position="1998" topLine="258" />
</Cursor>
</File>
<File name="../../pool.h" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\pool.h" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2334" topLine="35" />
</Cursor>
</File>
<File name="../test_set.cpp" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\integral_limits.h" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5678" topLine="199" />
<Cursor1 position="2272" topLine="36" />
</Cursor>
</File>
<File name="../test_integral_limits.cpp" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\stack.h" open="0" top="0" tabpos="16" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1416" topLine="13" />
<Cursor1 position="3203" topLine="57" />
</Cursor>
</File>
<File name="../../lookup.h" open="1" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\bloom_filter.h" open="1" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3734" topLine="55" />
<Cursor1 position="3055" topLine="57" />
</Cursor>
</File>
<File name="../../queue.h" open="1" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2984" topLine="48" />
</Cursor>
</File>
<File name="../../map.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5955" topLine="137" />
</Cursor>
</File>
<File name="../../../unittest-cpp/UnitTest++/TestRunner.cpp" open="1" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2020" topLine="29" />
</Cursor>
</File>
<File name="../../optional.h" open="0" top="0" tabpos="22" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\optional.h" open="0" top="0" tabpos="22" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2746" topLine="58" />
</Cursor>
</File>
<File name="../../imap.h" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\..\unittest-cpp\UnitTest++\Test.cpp" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="65581" topLine="1823" />
<Cursor1 position="662" topLine="0" />
</Cursor>
</File>
<File name="../../deque.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\map.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4670" topLine="110" />
<Cursor1 position="5955" topLine="137" />
</Cursor>
</File>
<File name="../../type_traits.h" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\test_cyclic_value.cpp" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5782" topLine="136" />
<Cursor1 position="1365" topLine="12" />
</Cursor>
</File>
<File name="../../../unittest-cpp/UnitTest++/TestMacros.h" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\..\unittest-cpp\UnitTest++\Config.h" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1865" topLine="28" />
<Cursor1 position="773" topLine="0" />
</Cursor>
</File>
<File name="../../endian.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\test_vector.cpp" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2235" topLine="37" />
<Cursor1 position="4094" topLine="90" />
</Cursor>
</File>
<File name="../../cyclic_value.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\list.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5955" topLine="137" />
</Cursor>
</File>
<File name="..\..\type_traits.h" open="1" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="7979" topLine="189" />
</Cursor>
</File>
<File name="..\..\cyclic_value.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3578" topLine="85" />
</Cursor>
</File>
<File name="../../io_port.h" open="0" top="0" tabpos="20" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="..\..\ilist.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="7715" topLine="301" />
<Cursor1 position="17660" topLine="539" />
</Cursor>
</File>
<File name="..\..\..\unittest-cpp\UnitTest++\TestMacros.h" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1865" topLine="28" />
</Cursor>
</File>
<File name="..\..\error_handler.h" open="1" top="0" tabpos="17" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3450" topLine="55" />
</Cursor>
</File>
<File name="..\test_integral_limits.cpp" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1416" topLine="13" />
</Cursor>
</File>
<File name="..\test_bloom_filter.cpp" open="1" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6035" topLine="180" />
</Cursor>
</File>
<File name="..\..\binary.h" open="0" top="0" tabpos="17" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="12327" topLine="338" />
</Cursor>
</File>
<File name="..\..\..\unittest-cpp\UnitTest++\Win32\TimeHelpers.cpp" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="257" topLine="0" />
</Cursor>
</File>
<File name="..\..\function.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3693" topLine="67" />
</Cursor>
</File>
<File name="..\test_algorithm.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1544" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\unittest-cpp\UnitTest++\Posix\SignalTranslator.h" open="1" top="1" tabpos="16" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="271" topLine="0" />
</Cursor>
</File>
<File name="..\test_queue.cpp" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1603" topLine="28" />
</Cursor>
</File>
<File name="..\..\vector_base.h" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2307" topLine="19" />
</Cursor>
</File>
<File name="..\..\nullptr.h" open="1" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="560" topLine="9" />
</Cursor>
</File>
<File name="..\main.cpp" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="277" topLine="0" />
</Cursor>
</File>
<File name="..\test_optional.cpp" open="0" top="0" tabpos="23" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3050" topLine="59" />
</Cursor>
</File>
<File name="..\..\observer.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5579" topLine="130" />
</Cursor>
</File>
<File name="..\test_map.cpp" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4405" topLine="112" />
</Cursor>
</File>
<File name="..\..\queue.h" open="1" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2984" topLine="48" />
</Cursor>
</File>
<File name="..\..\lookup.h" open="1" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3734" topLine="55" />
</Cursor>
</File>
<File name="..\..\ivector.h" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="14318" topLine="364" />
</Cursor>
</File>
<File name="..\test_bitset.cpp" open="0" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="17510" topLine="588" />
</Cursor>
</File>
<File name="..\..\endian.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2235" topLine="37" />
</Cursor>
</File>
<File name="..\..\bitset.h" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4838" topLine="145" />
</Cursor>
</File>
<File name="..\test_set.cpp" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5885" topLine="199" />
</Cursor>
</File>
<File name="..\..\container.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2523" topLine="42" />
</Cursor>
</File>
<File name="..\test_type_traits.cpp" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="34843" topLine="428" />
</Cursor>
</File>
<File name="..\..\static_assert.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1356" topLine="10" />
</Cursor>
</File>
<File name="..\..\Doxyfile" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="56760" topLine="1251" />
</Cursor>
</File>
<File name="..\test_deque.cpp" open="1" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="21475" topLine="641" />
</Cursor>
</File>
<File name="..\test_array.cpp" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2123" topLine="55" />
</Cursor>
</File>
<File name="..\..\deque.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4670" topLine="110" />
</Cursor>
</File>
<File name="..\..\ideque.h" open="0" top="0" tabpos="24" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="43136" topLine="1333" />
</Cursor>
</File>
<File name="..\..\..\unittest-cpp\UnitTest++\TestRunner.cpp" open="1" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="2020" topLine="29" />
</Cursor>
</File>
<File name="..\..\imap.h" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="65581" topLine="1823" />
</Cursor>
</File>
<File name="..\..\..\unittest-cpp\UnitTest++\TestRunner.h" open="1" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="692" topLine="0" />
</Cursor>
</File>
<File name="..\..\..\unittest-cpp\UnitTest++\Win32\TimeHelpers.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="245" topLine="0" />
</Cursor>
</File>
<File name="..\..\alignment.h" open="0" top="0" tabpos="25" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5607" topLine="134" />
</Cursor>
</File>
<File name="..\..\iset.h" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1386" topLine="9" />
</Cursor>
</File>
<File name="..\test_hash.cpp" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="4733" topLine="114" />
</Cursor>
</File>
</CodeBlocks_layout_file>

View File

@ -34,7 +34,7 @@ SOFTWARE.
template <typename TIterator>
std::ostream& operator << (std::ostream& os, const etl::fixed_iterator<TIterator>& fi)
{
os << fi.get();
os << TIterator(fi);
return os;
}
@ -48,7 +48,7 @@ namespace
{
etl::fixed_iterator<int*> fi;
CHECK_EQUAL((int*)0, fi.get());
CHECK_EQUAL((int*)0, fi);
}
//*************************************************************************
@ -69,7 +69,7 @@ namespace
etl::fixed_iterator<int*> fi(&a);
CHECK_EQUAL(&a, fi.get());
CHECK_EQUAL(&a, fi);
}
//*************************************************************************
@ -79,7 +79,7 @@ namespace
etl::fixed_iterator<int*> fi = etl::make_fixed_iterator(&a);
CHECK_EQUAL(&a, fi.get());
CHECK_EQUAL(&a, fi);
}
//*************************************************************************
@ -202,11 +202,11 @@ namespace
etl::fixed_iterator<int*> fi = etl::make_fixed_iterator<int*>(&a);
fi = &b;
CHECK_EQUAL(&b, fi.get());
CHECK_EQUAL(&b, fi);
fi.set(&a);
fi = &a;
CHECK_EQUAL(&a, fi.get());
CHECK_EQUAL(&a, fi);
}
//*************************************************************************

View File

@ -259,6 +259,7 @@
<ClCompile Include="..\test_binary.cpp" />
<ClCompile Include="..\test_bitset.cpp" />
<ClCompile Include="..\test_bloom_filter.cpp" />
<ClCompile Include="..\test_bsd_checksum.cpp" />
<ClCompile Include="..\test_checksum.cpp" />
<ClCompile Include="..\test_container.cpp" />
<ClCompile Include="..\test_crc.cpp" />
@ -284,6 +285,7 @@
<ClCompile Include="..\test_instance_count.cpp" />
<ClCompile Include="..\test_integral_limits.cpp" />
<ClCompile Include="..\test_io_port.cpp" />
<ClCompile Include="..\test_jenkins.cpp" />
<ClCompile Include="..\test_largest.cpp" />
<ClCompile Include="..\test_list.cpp" />
<ClCompile Include="..\test_flat_map.cpp">

View File

@ -405,39 +405,27 @@
<ClInclude Include="..\..\irr_cache.h">
<Filter>ETL\Maths</Filter>
</ClInclude>
<ClInclude Include="..\..\jenkins.h">
<Filter>ETL\Maths</Filter>
</ClInclude>
<ClInclude Include="..\..\lru_cache.h">
<Filter>ETL\Maths</Filter>
</ClInclude>
<ClInclude Include="..\..\mru_cache.h">
<Filter>ETL\Maths</Filter>
</ClInclude>
<ClInclude Include="..\..\rr_cache.h">
<Filter>ETL\Maths</Filter>
</ClInclude>
<ClInclude Include="..\..\etlhash.h">
<Filter>ETL\Maths</Filter>
</ClInclude>
<ClInclude Include="..\..\murmur3.h">
<Filter>ETL\Maths</Filter>
</ClInclude>
<ClInclude Include="..\..\pearson.h">
<Filter>ETL\Maths</Filter>
</ClInclude>
<ClInclude Include="..\..\rr_cache.h">
<Filter>ETL\Maths</Filter>
</ClInclude>
<ClInclude Include="..\murmurhash3.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\..\bsd_checksum.h">
<Filter>ETL\Maths</Filter>
</ClInclude>
<ClInclude Include="..\..\jenkins.h">
<Filter>ETL\Maths</Filter>
</ClInclude>
<ClInclude Include="..\..\flat_multimap.h">
<Filter>ETL\Containers</Filter>
</ClInclude>
<ClInclude Include="..\..\flat_multimap_base.h">
<Filter>ETL\Containers</Filter>
</ClInclude>
<ClInclude Include="..\..\iflat_multimap.h">
<Filter>ETL\Containers</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\unittest-cpp\UnitTest++\AssertException.cpp">
@ -656,13 +644,22 @@
<ClCompile Include="..\test_priority_queue.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\pearson.cpp">
<Filter>ETL\Maths</Filter>
</ClCompile>
<ClCompile Include="..\test_flat_multimap.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\test_jenkins.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\test_murmur3.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\murmurhash3.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\test_flat_multimap.cpp">
<ClCompile Include="..\test_flat_multiset.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
@ -672,6 +669,5 @@
</None>
<None Include="ClassDiagram.cd" />
<None Include="ClassDiagram1.cd" />
<None Include="ClassDiagram2.cd" />
</ItemGroup>
</Project>

View File

@ -209,7 +209,7 @@ namespace etl
///\ingroup type_traits
template <typename T> struct is_fundamental : integral_constant<bool, is_arithmetic<T>::value ||
is_void<T>::value ||
is_same<nullptr_t,
is_same<std::nullptr_t,
typename remove_cv<T>::type>::value> {};
/// is_compound