Changeset 677


Ignore:
Timestamp:
11/17/14 15:33:15 (5 years ago)
Author:
jls17
Message:
  • the sorting does now use lower-case-values again
  • fixed compile errors because of missing stdexcept include
  • updated IndexSorter? tests
  • updated ARInside.vsproj file regarding breakpad-support
Location:
branches/work_320
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/work_320/ARInside.vcproj

    r666 r677  
    2525                        IntermediateDirectory="$(ConfigurationName)\$(ProjectName)" 
    2626                        ConfigurationType="1" 
    27                         CharacterSet="2" 
     27                        CharacterSet="1" 
    2828                        > 
    2929                        <Tool 
     
    4545                                Name="VCCLCompilerTool" 
    4646                                Optimization="0" 
    47                                 AdditionalIncludeDirectories="..\..\api810\include;.\;..\..\libs\zlib\include" 
     47                                AdditionalIncludeDirectories="..\..\api810\include;.\;..\..\libs\zlib\include;thirdparty\breakpad\src" 
    4848                                PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;ARINSIDE_BREAKPAD_SUPPORT" 
    4949                                MinimalRebuild="true" 
     
    122122                                Name="VCCLCompilerTool" 
    123123                                Optimization="0" 
    124                                 AdditionalIncludeDirectories="..\..\api810\include;.\;..\..\libs\zlib\include;&quot;thirdparty\breakpad\src&quot;" 
     124                                AdditionalIncludeDirectories="..\..\api810\include;.\;..\..\libs\zlib\include;thirdparty\breakpad\src" 
    125125                                PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;ARINSIDE_BREAKPAD_SUPPORT" 
    126126                                MinimalRebuild="true" 
     
    177177                        IntermediateDirectory="$(ConfigurationName)\$(ProjectName)" 
    178178                        ConfigurationType="1" 
    179                         CharacterSet="2" 
     179                        CharacterSet="1" 
    180180                        WholeProgramOptimization="1" 
    181181                        > 
     
    199199                                Optimization="2" 
    200200                                EnableIntrinsicFunctions="true" 
    201                                 AdditionalIncludeDirectories="..\..\api810\include;.\;..\..\libs\zlib\include" 
     201                                AdditionalIncludeDirectories="..\..\api810\include;.\;..\..\libs\zlib\include;thirdparty\breakpad\src" 
    202202                                PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;ARINSIDE_BREAKPAD_SUPPORT" 
    203203                                RuntimeLibrary="2" 
    204204                                EnableFunctionLevelLinking="true" 
    205205                                UsePrecompiledHeader="2" 
     206                                PrecompiledHeaderThrough="ARInsideMain.h" 
    206207                                WarningLevel="3" 
    207208                                DebugInformationFormat="3" 
     
    277278                                Optimization="2" 
    278279                                EnableIntrinsicFunctions="true" 
    279                                 AdditionalIncludeDirectories="..\..\api810\include;.\;..\..\libs\zlib\include;&quot;thirdparty\breakpad\src&quot;" 
     280                                AdditionalIncludeDirectories="..\..\api810\include;.\;..\..\libs\zlib\include;thirdparty\breakpad\src" 
    280281                                PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;ARINSIDE_BREAKPAD_SUPPORT" 
    281282                                RuntimeLibrary="2" 
     
    333334                        IntermediateDirectory="$(ConfigurationName)\$(ProjectName)" 
    334335                        ConfigurationType="1" 
    335                         CharacterSet="2" 
     336                        CharacterSet="1" 
    336337                        WholeProgramOptimization="1" 
    337338                        > 
     
    355356                                Optimization="2" 
    356357                                EnableIntrinsicFunctions="true" 
    357                                 AdditionalIncludeDirectories="..\..\api810\include;.\;..\..\libs\zlib\include" 
     358                                AdditionalIncludeDirectories="..\..\api810\include;.\;..\..\libs\zlib\include;thirdparty\breakpad\src" 
    358359                                PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;ARINSIDE_BREAKPAD_SUPPORT" 
    359360                                RuntimeLibrary="2" 
     
    410411                        IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\$(ProjectName)" 
    411412                        ConfigurationType="1" 
    412                         CharacterSet="2" 
     413                        CharacterSet="1" 
    413414                        WholeProgramOptimization="1" 
    414415                        > 
     
    433434                                Optimization="2" 
    434435                                EnableIntrinsicFunctions="true" 
    435                                 AdditionalIncludeDirectories="..\..\api810\include;.\;..\..\libs\zlib\include" 
     436                                AdditionalIncludeDirectories="..\..\api810\include;.\;..\..\libs\zlib\include;thirdparty\breakpad\src" 
    436437                                PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;ARINSIDE_BREAKPAD_SUPPORT" 
    437438                                RuntimeLibrary="2" 
  • branches/work_320/lists/support/BasicStringList.cpp

    r675 r677  
    4040 
    4141        strncpy(list->nameList[list->numItems], &value[skippedSpaces], AR_MAX_NAME_SIZE); 
     42        MakeLower(list->nameList[list->numItems]); 
    4243        list->nameList[list->numItems][AR_MAX_NAME_SIZE] = 0; 
    4344        list->numItems++; 
     
    5051 
    5152        strncpy(list->nameList[list->numItems], (value.c_str() + skippedSpaces), AR_MAX_NAME_SIZE); 
     53        MakeLower(list->nameList[list->numItems]); 
    5254        list->nameList[list->numItems][AR_MAX_NAME_SIZE] = 0; 
    5355        list->numItems++; 
     
    5860        return (strcoll(list->nameList[l], list->nameList[r]) < 0); 
    5961} 
     62 
     63void BasicStringList::MakeLower(ARNameType &name) 
     64{ 
     65        for (unsigned int idx = 0; idx < AR_MAX_NAME_SIZE; ++idx) 
     66        { 
     67                char c = name[idx]; 
     68                if (c == 0) break; 
     69                name[idx] = tolower(c); 
     70        }        
     71} 
  • branches/work_320/lists/support/BasicStringList.h

    r675 r677  
    3232 
    3333        ARNameList *list; 
     34 
     35private: 
     36        void MakeLower(ARNameType &value); 
    3437}; 
  • branches/work_320/lists/support/IndexSorterTest.cpp

    r675 r677  
    3131        testList.push_back("\xc3\x81ndre"); 
    3232        testList.push_back("B\xc3\xbcro"); 
     33        testList.push_back("ugly"); 
    3334 
    3435        vector<int> indexList; 
     
    3940        indexList.push_back(4); // this is the index of testList's "Ándre" value 
    4041        indexList.push_back(5); // this is the index of testList's "Büro" value 
     42        indexList.push_back(6); // this is the index of testList's "ugly" value 
    4143 
    4244        IndexSorter indexSorter(true); 
    4345        indexSorter.SortBy(testList).Sort(indexList); 
    4446 
    45         ASSERT_EQ(4, indexList[0]); // the value of "Ándre" 
    46         ASSERT_EQ(5, indexList[1]); // the value of "Büro" 
    47         ASSERT_EQ(3, indexList[2]); // the value of "Hallo Welt" 
    48         ASSERT_EQ(2, indexList[3]); // the value of "Überschrift" 
    49         ASSERT_EQ(0, indexList[4]); // the value of "Umgang" 
    50         ASSERT_EQ(1, indexList[5]); // the value of "Wartung" 
     47        ASSERT_EQ(4, indexList[0]); // the value of "ándre" 
     48        ASSERT_EQ(5, indexList[1]); // the value of "büro" 
     49        ASSERT_EQ(3, indexList[2]); // the value of "hallo welt" 
     50        ASSERT_EQ(2, indexList[3]); // the value of "überschrift" 
     51        ASSERT_EQ(6, indexList[4]); // the value of "ugly" 
     52        ASSERT_EQ(0, indexList[5]); // the value of "umgang" 
     53        ASSERT_EQ(1, indexList[6]); // the value of "wartung" 
    5154} 
  • branches/work_320/lists/support/UTF8StringList.cpp

    r675 r677  
    2222UTF8StringList::UTF8StringList() 
    2323#ifdef WIN32 
    24 : systemLocale(""), coll(std::use_facet<std::collate<sort_char_t> >(systemLocale)) 
     24#define UTF8_SORT_LOCALE systemLocale 
     25: systemLocale(""), coll(std::use_facet<std::collate<sort_char_t> >(UTF8_SORT_LOCALE)) 
    2526#else 
    26 : coll(std::use_facet<std::collate<char> >(localeDetection.sortLocale)) 
     27#define UTF8_SORT_LOCALE localeDetection.sortLocale 
     28: coll(std::use_facet<std::collate<char> >(UTF8_SORT_LOCALE)) 
    2729#endif 
    2830{ 
     
    4042 
    4143#ifdef WIN32 
    42         vector<wchar_t> wideString; 
     44        std::wstring wideString; 
     45        wideString.reserve(AR_MAX_NAME_SIZE + 1); 
    4346        utf8::utf8to16(&value[skippedSpaces], &value[strlen(value)], back_inserter(wideString)); 
    44         wideString.push_back(0); 
    45          
    46         wchar_t *uStr = &wideString[0]; 
    47         list.push_back(uStr); 
     47        MakeLower(wideString); 
     48 
     49        list.push_back(wideString); 
    4850#else 
    4951        list.push_back(&value[skippedSpaces]); 
     
    5759 
    5860#ifdef WIN32 
    59         vector<wchar_t> wideString; 
     61        std::wstring wideString; 
     62        wideString.reserve(AR_MAX_NAME_SIZE + 1); 
    6063        utf8::utf8to16(value.begin() + skippedSpaces, value.end(), back_inserter(wideString)); 
    61         wideString.push_back(0); 
     64        MakeLower(wideString); 
    6265         
    63         wchar_t *uStr = &wideString[0]; 
    64         list.push_back(uStr); 
     66        list.push_back(wideString); 
    6567#else 
    6668        list.push_back(value.c_str() + skippedSpaces); 
     
    7577                            ) < 0); 
    7678} 
     79 
     80UTF8StringList::sort_char_t UTF8StringList::operator () (sort_char_t c) 
     81{ 
     82        return std::tolower(c, UTF8_SORT_LOCALE); 
     83} 
     84 
     85void UTF8StringList::MakeLower(list_string_t &str) 
     86{ 
     87        std::transform(str.begin(), str.end(), str.begin(), *this); 
     88} 
  • branches/work_320/lists/support/UTF8StringList.h

    r675 r677  
    1818 
    1919#include "InternalNameList.h" 
     20#ifndef WIN32 
     21#include "LocaleDetector.h" 
     22#endif 
    2023 
    2124class UTF8StringList : public InternalNameList 
     
    4649 
    4750        bool operator()(int l, int r); 
     51        sort_char_t operator() (sort_char_t c); 
    4852 
    4953        vector<list_string_t> list; 
     54 
     55private: 
     56        void MakeLower(list_string_t &str); 
    5057}; 
  • branches/work_320/stdafx.h

    r636 r677  
    3232#include <functional> 
    3333#include <assert.h> 
     34#include <stdexcept> 
    3435 
    3536#ifdef WIN32 // JLS17 LINUX 
Note: See TracChangeset for help on using the changeset viewer.