Čia aišku ant bajerio “ripped me off”, bet visgi :D
Iki šiol, daugiausia iš sentimentų, karts nuo karto nueinu į boost saitą pasižiūrėt, ką gero šiom dienom veikia c++ communitis. Va dabar nesenai užmačiau, kad išleido naują versiją, su nauju librariu Boost.PropertyTree. Paskaitęs aprašymą biški atvėpau, nes ten pasirodo yra mano prieš 5+ metų rašytos Settings klasės analogas. Let’s compare:
- Property trees are versatile data structures, but are particularly suited for holding configuration data. Mano klasė irgi tam skirta buvo.
- The library provides parsers and generators for a number of data formats that can be represented by such a tree, including XML, INI, and JSON. Kadangi mano laikais JSON’o iš esmės nebuvo, tai Settings palaikė tik INI ir XML.
- Sample reading code:
m_file = pt.get<std::string>(“debug.filename”);
Pas mane buvo:
std::cout << config["debug"]["filename"].as<std:string>();
Mind you, Settings’ai irgi buvo extendable, turėjo data access ir conversion policius, etc. Aišku, mano klasė kiek pamenu supportino tik vieną levelį settingsų, t.y. iš esmės buvo stl’inis konteineris, o čia yra medis. Ir parašyta ne taip profesionaliai buvo. Bet vis tik, kai prisimeni, kokios mintys man sukos tada prieš 5 metus:
Šiaip kilo idėja, gal pasiūlyti settings į boost, žinoma jį praplėtus ir sutvarkius. Žinoma, sunku patikėti, kad pavyktų, bet jei pavyktų ir dar mano nuotrauką įdėtų boost saite, tai jau būtų mano egzistencijos viršūnė – galėčiau po to ir mirt laimingas :))
Dabar biški ir abydna, kad pritrūkau iniciatyvos tada :D Vis dėlto, situaciją geriausiai apibūdina frazė to pačio librario dokumentacijoj:
Many software projects develop a similar tool at some point of their lifetime, and property tree originated the same way. We hope the library can save many from reinventing the wheel.
Ah well, ką darysi :D
1 komentaras ↓
Jei tai nors kiek pakels upa, as buvau vienas is patenkintu settings useriu
Palik komentarą