Commit 251feda7 authored by Anton Bukov's avatar Anton Bukov

Fixed a lot of warnings. Added support for std::array.

parent efdec94c

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boolinq", "boolinq\boolinq.vcxproj", "{65AA3851-4457-48AB-BD08-83250D523D49}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{65AA3851-4457-48AB-BD08-83250D523D49}.Debug|Win32.ActiveCfg = Debug|Win32
{65AA3851-4457-48AB-BD08-83250D523D49}.Debug|Win32.Build.0 = Debug|Win32
{65AA3851-4457-48AB-BD08-83250D523D49}.Release|Win32.ActiveCfg = Release|Win32
{65AA3851-4457-48AB-BD08-83250D523D49}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
...@@ -73,8 +73,8 @@ namespace boolinq ...@@ -73,8 +73,8 @@ namespace boolinq
TC second; TC second;
TI first; TI first;
IteratorContainerPair(const TC & tc, std::function<TI(const TC &)> get_ti) IteratorContainerPair(const TC & tc, std::function<TI(const TC &)> get_ti_)
: get_ti(get_ti) : get_ti(get_ti_)
, second(tc) , second(tc)
, first(get_ti(second)) , first(get_ti(second))
{ {
...@@ -283,7 +283,7 @@ namespace boolinq ...@@ -283,7 +283,7 @@ namespace boolinq
{ {
public: public:
std::function<TRet(T)> func; std::function<TRet(T)> func;
transform_comparer(std::function<TRet(T)> func) : func(func) {} transform_comparer(std::function<TRet(T)> func_) : func(func_) {}
bool operator()(const T & a, const T & b) const bool operator()(const T & a, const T & b) const
{ {
...@@ -525,7 +525,7 @@ namespace boolinq ...@@ -525,7 +525,7 @@ namespace boolinq
T first() const T first() const
{ {
return first([](T a){return true;}); return first([](T){return true;});
} }
T firstOrDefault(std::function<bool(T)> predicate) T firstOrDefault(std::function<bool(T)> predicate)
...@@ -550,7 +550,7 @@ namespace boolinq ...@@ -550,7 +550,7 @@ namespace boolinq
T last() const T last() const
{ {
return last([](T a){return true;}); return last([](T){return true;});
} }
T lastOrDefault(std::function<bool(T)> predicate) const T lastOrDefault(std::function<bool(T)> predicate) const
...@@ -561,7 +561,7 @@ namespace boolinq ...@@ -561,7 +561,7 @@ namespace boolinq
T lastOrDefault() const T lastOrDefault() const
{ {
return lastOrDefault([](T a){return true;}); return lastOrDefault([](T){return true;});
} }
// Set methods // Set methods
...@@ -646,16 +646,16 @@ namespace boolinq ...@@ -646,16 +646,16 @@ namespace boolinq
auto pair = std::make_pair(_enumerator, T()); auto pair = std::make_pair(_enumerator, T());
pair.second = pair.first.nextObject(); pair.second = pair.first.nextObject();
return Enumerator<int,DataType>([=](DataType & pair)->int{ return Enumerator<int,DataType>([=](DataType & pair_)->int{
if (direction == FirstToLast && pair.first == sizeof(T) if ((direction == FirstToLast && pair_.first == sizeof(T))
|| direction == LastToFirst && pair.first == -1) || (direction == LastToFirst && pair_.first == -1))
{ {
pair.first = (direction == FirstToLast) ? 0 : sizeof(T)-1; pair_.first = (direction == FirstToLast) ? 0 : sizeof(T)-1;
pair.second.second = pair.second.first.nextObject(); pair_.second.second = pair_.second.first.nextObject();
} }
unsigned char * ptr = (unsigned char *)&pair.second.second; unsigned char * ptr = reinterpret_cast<unsigned char *>(&pair_.second.second);
int value = ptr[pair.first]; int value = ptr[pair_.first];
pair.first += (direction == FirstToLast) ? 1 : -1; pair_.first += (direction == FirstToLast) ? 1 : -1;
return value; return value;
}, std::make_pair((direction == FirstToLast) ? 0 : sizeof(T)-1, pair)); }, std::make_pair((direction == FirstToLast) ? 0 : sizeof(T)-1, pair));
} }
...@@ -665,9 +665,9 @@ namespace boolinq ...@@ -665,9 +665,9 @@ namespace boolinq
{ {
return Enumerator<TRet,TE>([=](TE & en)->TRet{ return Enumerator<TRet,TE>([=](TE & en)->TRet{
TRet object; TRet object;
unsigned char * ptr = (unsigned char *)&object; unsigned char * ptr = reinterpret_cast<unsigned char *>(&object);
for (int i = (direction == FirstToLast) ? 0 : (int)sizeof(TRet)-1; for (int i = (direction == FirstToLast) ? 0 : int(sizeof(TRet)-1);
i != ((direction == FirstToLast) ? (int)sizeof(TRet) : -1); i != ((direction == FirstToLast) ? int(sizeof(TRet)) : -1);
i += (direction == FirstToLast) ? 1 : -1) i += (direction == FirstToLast) ? 1 : -1)
{ {
ptr[i] = en.nextObject(); ptr[i] = en.nextObject();
...@@ -683,11 +683,11 @@ namespace boolinq ...@@ -683,11 +683,11 @@ namespace boolinq
auto inner = bytes(bytesDirection); auto inner = bytes(bytesDirection);
return Enumerator<int,DataType>([=](DataType & pair)->int{ return Enumerator<int,DataType>([=](DataType & pair)->int{
if (direction == LowToHigh && pair.first == CHAR_BIT if ((direction == LowToHigh && pair.first == CHAR_BIT)
|| direction == HighToLow && pair.first == -1) || (direction == HighToLow && pair.first == -1))
{ {
pair.first = (direction == LowToHigh) ? 0 : CHAR_BIT-1; pair.first = (direction == LowToHigh) ? 0 : CHAR_BIT-1;
pair.second.second = (unsigned char)pair.second.first.nextObject(); pair.second.second = static_cast<unsigned char>(pair.second.first.nextObject());
} }
int value = 1 & (pair.second.second >> (pair.first % CHAR_BIT)); int value = 1 & (pair.second.second >> (pair.first % CHAR_BIT));
pair.first += (direction == LowToHigh) ? 1 : -1; pair.first += (direction == LowToHigh) ? 1 : -1;
...@@ -713,7 +713,7 @@ namespace boolinq ...@@ -713,7 +713,7 @@ namespace boolinq
template<typename TRet> template<typename TRet>
LinqObj<Enumerator<TRet,Enumerator<unsigned char,TE> > > unbits(BitsDirection direction = HighToLow, BytesDirection bytesDirection = FirstToLast) const LinqObj<Enumerator<TRet,Enumerator<unsigned char,TE> > > unbits(BitsDirection direction = HighToLow, BytesDirection bytesDirection = FirstToLast) const
{ {
return unbits(direction).unbytes<TRet>(bytesDirection); return unbits(direction).template unbytes<TRet>(bytesDirection);
} }
template<typename TE_> template<typename TE_>
...@@ -763,6 +763,16 @@ namespace boolinq ...@@ -763,6 +763,16 @@ namespace boolinq
}, DataType(container, [](const TV<TT,TU> & cont){return cont.cbegin();})); }, DataType(container, [](const TV<TT,TU> & cont){return cont.cbegin();}));
} }
template<template<class,int> class TV, typename TT, int TL>
LinqObj<Enumerator<TT,IteratorContainerPair<typename TV<TT,TL>::const_iterator,TV<TT,TL> > > > from(TV<TT,TL> & container)
{
typedef IteratorContainerPair<typename TV<TT,TL>::const_iterator,TV<TT,TL> > DataType;
return Enumerator<TT,DataType>([](DataType & pair){
return (pair.first == pair.second.cend()) ? throw EnumeratorEndException() : *(pair.first++);
}, DataType(container, [](const TV<TT,TL> & cont){return cont.cbegin();}));
}
template<typename T> template<typename T>
LinqObj<Enumerator<T,int> > repeat(T value, int count) LinqObj<Enumerator<T,int> > repeat(T value, int count)
{ {
......
...@@ -82,7 +82,7 @@ TEST(BytesRange, OneIntLF) ...@@ -82,7 +82,7 @@ TEST(BytesRange, OneIntLF)
TEST(BytesRange, IntsDefault) TEST(BytesRange, IntsDefault)
{ {
int src[] = {0x12345678, 0xAABBCCDD}; unsigned src[] = {0x12345678, 0xAABBCCDD};
int ans[] = int ans[] =
{ {
0x78,0x56,0x34,0x12, 0x78,0x56,0x34,0x12,
...@@ -97,7 +97,7 @@ TEST(BytesRange, IntsDefault) ...@@ -97,7 +97,7 @@ TEST(BytesRange, IntsDefault)
TEST(BytesRange, IntsFL) TEST(BytesRange, IntsFL)
{ {
int src[] = {0x12345678, 0xAABBCCDD}; unsigned src[] = {0x12345678, 0xAABBCCDD};
int ans[] = int ans[] =
{ {
0x78,0x56,0x34,0x12, 0x78,0x56,0x34,0x12,
...@@ -112,7 +112,7 @@ TEST(BytesRange, IntsFL) ...@@ -112,7 +112,7 @@ TEST(BytesRange, IntsFL)
TEST(BytesRange, IntsLF) TEST(BytesRange, IntsLF)
{ {
int src[] = {0x12345678, 0xAABBCCDD}; unsigned src[] = {0x12345678, 0xAABBCCDD};
int ans[] = int ans[] =
{ {
0x12,0x34,0x56,0x78, 0x12,0x34,0x56,0x78,
......
...@@ -14,7 +14,7 @@ using namespace boolinq; ...@@ -14,7 +14,7 @@ using namespace boolinq;
TEST(DotCall, BytesRange) TEST(DotCall, BytesRange)
{ {
int src[] = {0x12345678,0xAABBCCDD}; unsigned src[] = {0x12345678,0xAABBCCDD};
int ansFL[] = int ansFL[] =
{ {
0x78,0x56,0x34,0x12, 0x78,0x56,0x34,0x12,
...@@ -44,8 +44,8 @@ TEST(DotCall, UnbytesRange) ...@@ -44,8 +44,8 @@ TEST(DotCall, UnbytesRange)
0x78,0x56,0x34,0x12, 0x78,0x56,0x34,0x12,
0xDD,0xCC,0xBB,0xAA, 0xDD,0xCC,0xBB,0xAA,
}; };
int ansFL[] = {0x12345678,0xAABBCCDD}; unsigned ansFL[] = {0x12345678,0xAABBCCDD};
int ansLF[] = {0x78563412,0xDDCCBBAA}; unsigned ansLF[] = {0x78563412,0xDDCCBBAA};
auto dstFL1 = from(src).unbytes<int>(); auto dstFL1 = from(src).unbytes<int>();
auto dstFL2 = from(src).unbytes<int>(FirstToLast); auto dstFL2 = from(src).unbytes<int>(FirstToLast);
...@@ -60,7 +60,7 @@ TEST(DotCall, UnbytesRange) ...@@ -60,7 +60,7 @@ TEST(DotCall, UnbytesRange)
TEST(DotCall, BitsRangeHL) TEST(DotCall, BitsRangeHL)
{ {
int src[] = {0xAABBCCDD}; unsigned src[] = {0xAABBCCDD};
int ansFL[] = int ansFL[] =
{ {
1,1,0,1,1,1,0,1, 1,1,0,1,1,1,0,1,
...@@ -89,7 +89,7 @@ TEST(DotCall, BitsRangeHL) ...@@ -89,7 +89,7 @@ TEST(DotCall, BitsRangeHL)
TEST(DotCall, BitsRangeLH) TEST(DotCall, BitsRangeLH)
{ {
int src[] = {0xAABBCCDD}; unsigned src[] = {0xAABBCCDD};
int ansFL[] = int ansFL[] =
{ {
1,0,1,1,1,0,1,1, 1,0,1,1,1,0,1,1,
...@@ -126,8 +126,8 @@ TEST(DotCall, UnbitsRangeHLFL) ...@@ -126,8 +126,8 @@ TEST(DotCall, UnbitsRangeHLFL)
1,0,1,0,1,0,1,0 1,0,1,0,1,0,1,0
}; };
int ans_4b[] = {0xDD,0xCC,0xBB,0xAA}; int ans_4b[] = {0xDD,0xCC,0xBB,0xAA};
int ans_1i[] = {0xAABBCCDD}; unsigned ans_1i[] = {0xAABBCCDD};
int ansLF_1i[] = {0xDDCCBBAA}; unsigned ansLF_1i[] = {0xDDCCBBAA};
auto dst1_4b = from(src).unbits(); auto dst1_4b = from(src).unbits();
auto dst2_4b = from(src).unbits(HighToLow); auto dst2_4b = from(src).unbits(HighToLow);
......
...@@ -13,7 +13,7 @@ using namespace boolinq; ...@@ -13,7 +13,7 @@ using namespace boolinq;
TEST(UnbytesRange, OneIntDefault) TEST(UnbytesRange, OneIntDefault)
{ {
unsigned char src[] = {0xAA,0xBB,0xCC,0xDD}; unsigned char src[] = {0xAA,0xBB,0xCC,0xDD};
int ans[] = {0xDDCCBBAA}; unsigned ans[] = {0xDDCCBBAA};
auto rng = from(src); auto rng = from(src);
auto dst = rng.unbytes<int>(); auto dst = rng.unbytes<int>();
...@@ -24,10 +24,10 @@ TEST(UnbytesRange, OneIntDefault) ...@@ -24,10 +24,10 @@ TEST(UnbytesRange, OneIntDefault)
TEST(UnbytesRange, OneIntFL) TEST(UnbytesRange, OneIntFL)
{ {
unsigned char src[] = {0xAA,0xBB,0xCC,0xDD}; unsigned char src[] = {0xAA,0xBB,0xCC,0xDD};
int ans[] = {0xDDCCBBAA}; unsigned ans[] = {0xDDCCBBAA};
auto rng = from(src); auto rng = from(src);
auto dst = rng.unbytes<int>(FirstToLast); auto dst = rng.unbytes<unsigned>(FirstToLast);
CheckRangeEqArray(dst, ans); CheckRangeEqArray(dst, ans);
} }
...@@ -35,10 +35,10 @@ TEST(UnbytesRange, OneIntFL) ...@@ -35,10 +35,10 @@ TEST(UnbytesRange, OneIntFL)
TEST(UnbytesRange, OneIntLF) TEST(UnbytesRange, OneIntLF)
{ {
unsigned char src[] = {0xAA,0xBB,0xCC,0xDD}; unsigned char src[] = {0xAA,0xBB,0xCC,0xDD};
int ans[] = {0xAABBCCDD}; unsigned ans[] = {0xAABBCCDD};
auto rng = from(src); auto rng = from(src);
auto dst = rng.unbytes<int>(LastToFirst); auto dst = rng.unbytes<unsigned>(LastToFirst);
CheckRangeEqArray(dst, ans); CheckRangeEqArray(dst, ans);
} }
...@@ -52,10 +52,10 @@ TEST(UnbytesRange, TwoIntsDefault) ...@@ -52,10 +52,10 @@ TEST(UnbytesRange, TwoIntsDefault)
0x78,0x56,0x34,0x12, 0x78,0x56,0x34,0x12,
0xAA,0xBB,0xCC,0xDD, 0xAA,0xBB,0xCC,0xDD,
}; };
int ans[] = {0x12345678,0xDDCCBBAA}; unsigned ans[] = {0x12345678,0xDDCCBBAA};
auto rng = from(src); auto rng = from(src);
auto dst = rng.unbytes<int>(); auto dst = rng.unbytes<unsigned>();
CheckRangeEqArray(dst, ans); CheckRangeEqArray(dst, ans);
} }
...@@ -67,10 +67,10 @@ TEST(UnbytesRange, TwoIntsFL) ...@@ -67,10 +67,10 @@ TEST(UnbytesRange, TwoIntsFL)
0x78,0x56,0x34,0x12, 0x78,0x56,0x34,0x12,
0xAA,0xBB,0xCC,0xDD, 0xAA,0xBB,0xCC,0xDD,
}; };
int ans[] = {0x12345678,0xDDCCBBAA}; unsigned ans[] = {0x12345678,0xDDCCBBAA};
auto rng = from(src); auto rng = from(src);
auto dst = rng.unbytes<int>(FirstToLast); auto dst = rng.unbytes<unsigned>(FirstToLast);
CheckRangeEqArray(dst, ans); CheckRangeEqArray(dst, ans);
} }
...@@ -82,10 +82,10 @@ TEST(UnbytesRange, TwoIntsLF) ...@@ -82,10 +82,10 @@ TEST(UnbytesRange, TwoIntsLF)
0x78,0x56,0x34,0x12, 0x78,0x56,0x34,0x12,
0xAA,0xBB,0xCC,0xDD, 0xAA,0xBB,0xCC,0xDD,
}; };
int ans[] = {0x78563412,0xAABBCCDD}; unsigned ans[] = {0x78563412,0xAABBCCDD};
auto rng = from(src); auto rng = from(src);
auto dst = rng.unbytes<int>(LastToFirst); auto dst = rng.unbytes<unsigned>(LastToFirst);
CheckRangeEqArray(dst, ans); CheckRangeEqArray(dst, ans);
} }
......
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{65AA3851-4457-48AB-BD08-83250D523D49}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>boolinq</RootNamespace>
<ProjectName>boolinq</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<IncludePath>..\gmock\;..\gmock\include;..\gmock\gtest\;..\gmock\gtest\include;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>..\gmock\;..\gmock\include;..\gmock\gtest\;..\gmock\gtest\include;$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\gmock\gtest\src\gtest-all.cc" />
<ClCompile Include="..\gmock\src\gmock-all.cc" />
<ClCompile Include="AllTest.cpp" />
<ClCompile Include="AnyTest.cpp" />
<ClCompile Include="AvgTest.cpp" />
<ClCompile Include="ContainsTest.cpp" />
<ClCompile Include="CountTest.cpp" />
<ClCompile Include="DistinctRangeTest.cpp" />
<ClCompile Include="DotCallTest.cpp" />
<ClCompile Include="ElementAtTest.cpp" />
<ClCompile Include="ForEachTest.cpp" />
<ClCompile Include="GroupByRangeTest.cpp" />
<ClCompile Include="MaxTest.cpp" />
<ClCompile Include="MinTest.cpp" />
<ClCompile Include="OrderByRangeTest.cpp" />
<ClCompile Include="ReverseRangeTest.cpp" />
<ClCompile Include="SelectRangeTest.cpp" />
<ClCompile Include="SkipRangeTest.cpp" />
<ClCompile Include="SkipWhileRangeTest.cpp" />
<ClCompile Include="SpeedTest.cpp" />
<ClCompile Include="SumTest.cpp" />
<ClCompile Include="TakeRangeTest.cpp" />
<ClCompile Include="BytesRangeTest.cpp" />
<ClCompile Include="BitsRangeTest.cpp" />
<ClCompile Include="TakeWhileRangeTest.cpp" />
<ClCompile Include="ToDequeTest.cpp" />
<ClCompile Include="ToListTest.cpp" />
<ClCompile Include="LinqTest.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="IterRangeTest.cpp" />
<ClCompile Include="ToSetTest.cpp" />
<ClCompile Include="ToVectorTest.cpp" />
<ClCompile Include="UnbitsRangeTest.cpp" />
<ClCompile Include="UnbytesRangeTest.cpp" />
<ClCompile Include="ConcatRangeTest.cpp" />
<ClCompile Include="WhereRangeTest.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="boolinq.h" />
<ClInclude Include="CommonTests.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Test Files">
<UniqueIdentifier>{6b58e162-6433-41da-b055-7101f6bb2b6d}</UniqueIdentifier>
</Filter>
<Filter Include="Test Files\Exports">
<UniqueIdentifier>{eb563358-6445-4f61-bd6f-990c914f5ebf}</UniqueIdentifier>
</Filter>
<Filter Include="Test Files\Ranges">
<UniqueIdentifier>{7977c11f-757b-4c22-a388-d9c33a8ff0e8}</UniqueIdentifier>
</Filter>
<Filter Include="Test Files\Aggregate">
<UniqueIdentifier>{1b19ecdd-bb5e-41a2-9eee-86ef0975a2cd}</UniqueIdentifier>
</Filter>
<Filter Include="Test Files\Custom">
<UniqueIdentifier>{2d45ce7d-0cf5-4bd4-a512-fd034a68f701}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\gmock\src\gmock-all.cc">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\gmock\gtest\src\gtest-all.cc">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="LinqTest.cpp">
<Filter>Test Files</Filter>
</ClCompile>
<ClCompile Include="ToDequeTest.cpp">
<Filter>Test Files\Exports</Filter>
</ClCompile>
<ClCompile Include="ToListTest.cpp">
<Filter>Test Files\Exports</Filter>
</ClCompile>
<ClCompile Include="ToSetTest.cpp">
<Filter>Test Files\Exports</Filter>
</ClCompile>
<ClCompile Include="ToVectorTest.cpp">
<Filter>Test Files\Exports</Filter>
</ClCompile>
<ClCompile Include="ContainsTest.cpp">
<Filter>Test Files\Aggregate</Filter>
</ClCompile>
<ClCompile Include="CountTest.cpp">
<Filter>Test Files\Aggregate</Filter>
</ClCompile>
<ClCompile Include="ElementAtTest.cpp">
<Filter>Test Files\Aggregate</Filter>
</ClCompile>
<ClCompile Include="DistinctRangeTest.cpp">
<Filter>Test Files\Ranges</Filter>
</ClCompile>
<ClCompile Include="WhereRangeTest.cpp">
<Filter>Test Files\Ranges</Filter>
</ClCompile>
<ClCompile Include="GroupByRangeTest.cpp">
<Filter>Test Files\Ranges</Filter>
</ClCompile>
<ClCompile Include="IterRangeTest.cpp">
<Filter>Test Files\Ranges</Filter>
</ClCompile>
<ClCompile Include="OrderByRangeTest.cpp">
<Filter>Test Files\Ranges</Filter>
</ClCompile>
<ClCompile Include="ReverseRangeTest.cpp">
<Filter>Test Files\Ranges</Filter>
</ClCompile>
<ClCompile Include="SelectRangeTest.cpp">
<Filter>Test Files\Ranges</Filter>
</ClCompile>
<ClCompile Include="SumTest.cpp">
<Filter>Test Files\Aggregate</Filter>
</ClCompile>
<ClCompile Include="AllTest.cpp">
<Filter>Test Files\Aggregate</Filter>
</ClCompile>
<ClCompile Include="AnyTest.cpp">
<Filter>Test Files\Aggregate</Filter>
</ClCompile>
<ClCompile Include="AvgTest.cpp">
<Filter>Test Files\Aggregate</Filter>
</ClCompile>
<ClCompile Include="MinTest.cpp">
<Filter>Test Files\Aggregate</Filter>
</ClCompile>
<ClCompile Include="MaxTest.cpp">
<Filter>Test Files\Aggregate</Filter>
</ClCompile>
<ClCompile Include="TakeRangeTest.cpp">
<Filter>Test Files\Ranges</Filter>
</ClCompile>
<ClCompile Include="SkipRangeTest.cpp">
<Filter>Test Files\Ranges</Filter>
</ClCompile>
<ClCompile Include="BytesRangeTest.cpp">
<Filter>Test Files\Custom</Filter>
</ClCompile>
<ClCompile Include="BitsRangeTest.cpp">
<Filter>Test Files\Custom</Filter>
</ClCompile>
<ClCompile Include="UnbytesRangeTest.cpp">
<Filter>Test Files\Custom</Filter>
</ClCompile>
<ClCompile Include="UnbitsRangeTest.cpp">
<Filter>Test Files\Custom</Filter>
</ClCompile>
<ClCompile Include="DotCallTest.cpp">
<Filter>Test Files</Filter>
</ClCompile>
<ClCompile Include="ConcatRangeTest.cpp">
<Filter>Test Files\Ranges</Filter>
</ClCompile>
<ClCompile Include="ForEachTest.cpp">
<Filter>Test Files\Aggregate</Filter>
</ClCompile>
<ClCompile Include="SpeedTest.cpp">
<Filter>Test Files</Filter>
</ClCompile>
<ClCompile Include="TakeWhileRangeTest.cpp">
<Filter>Test Files\Ranges</Filter>
</ClCompile>
<ClCompile Include="SkipWhileRangeTest.cpp">
<Filter>Test Files\Ranges</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="boolinq.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="CommonTests.h">
<Filter>Test Files\Ranges</Filter>
</ClInclude>
</ItemGroup>
</Project>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment