From 057ebe3eba5ef55a065c3e5ac48fc41ffbb9d799 Mon Sep 17 00:00:00 2001 From: marcelb Date: Sun, 7 Jan 2024 20:07:49 +0100 Subject: [PATCH] Add namespace --- .vscode/settings.json | 3 ++- README.md | 23 +++++++++++------------ lib/config.hpp | 3 +++ src/config.cpp | 16 ++++++++-------- test/test.cpp | 1 + test/test.o | Bin 83944 -> 84040 bytes 6 files changed, 25 insertions(+), 21 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index a41abac..498e61b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,6 +3,7 @@ "*.tcc": "cpp", "compare": "cpp", "type_traits": "cpp", - "iostream": "cpp" + "iostream": "cpp", + "iosfwd": "cpp" } } \ No newline at end of file diff --git a/README.md b/README.md index c74cbe2..830410b 100644 --- a/README.md +++ b/README.md @@ -18,25 +18,24 @@ Easily load variable configuration parameters into your program using this libra Just download the latest release and unzip it into your project. You can turn it on with: -``` -#include config/lib/config.hpp +```c++ +#include "config/lib/config.hpp" +using namespace marcelb; ``` ## Usage ```c++ -#include -#include "../lib/config.hpp" - -using namespace std; - -int main() { - + /** + * Initialization and declaration + */ config mycfg ("../example/config.cfg", {"Username", "API", "Domain" }); + + /** + * Accessing values using the key name and the [] operator + */ cout << mycfg["consolePrintLogs"]; - return 0; -} ``` ### Configuration file example @@ -56,7 +55,7 @@ consolePrintLogs=true; ## Support & Feedback -For support and any feedback, contact the address: marcelb96@yahoo.com. +For support and any feedback, contact the address: marcelb96@yahoo.com ## Contributing diff --git a/lib/config.hpp b/lib/config.hpp index 8d864d3..22329f7 100644 --- a/lib/config.hpp +++ b/lib/config.hpp @@ -9,6 +9,8 @@ using namespace std; +namespace marcelb { + /** * Clears white fields from a string */ @@ -65,5 +67,6 @@ class config { }; +} #endif \ No newline at end of file diff --git a/src/config.cpp b/src/config.cpp index 0fe1041..0692970 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -1,7 +1,7 @@ #include "../lib/config.hpp" -config::config(const string _configFilePath, const vector _necessary) { +marcelb::config::config(const string _configFilePath, const vector _necessary) { necessary = _necessary; if(!init(_configFilePath)) { throw string("[ERROR] Init config file "); @@ -12,12 +12,12 @@ config::config(const string _configFilePath, const vector _necessary) { } -string config::operator[](const string& key) { +string marcelb::config::operator[](const string& key) { return element[key]; } -bool config::init(const string _configFilePath) { +bool marcelb::config::init(const string _configFilePath) { ifstream configFile; configFile.open(_configFilePath, ios::in); @@ -42,7 +42,7 @@ bool config::init(const string _configFilePath) { } -void config::print() { +void marcelb::config::print() { for(auto i : element) { cout << i.first << " " << i.second << "\n"; } @@ -50,7 +50,7 @@ void config::print() { } -bool config::isHaveNecessary() { +bool marcelb::config::isHaveNecessary() { bool necessaryHave = true; for (int i=0; i=7;67EiT1dt_<05=VZkYzxS5g(8QktG2l1WibYY|8e?0%3_sKm%j!xEVNrG& zr9H1Q_vvTOa?>bL7!SQ)7}wd)2GARLZb!je7YT4P@H33New~<3qVYqrP=ledp3Xk6 ze8<49zfItMUhVOBmO4 z%N{GhN#MuG&pz8lidEPwfz3?TP!+Siy~1`w-3!@6>XDwti;O>CE=>rGXfse##V z!9IM4*hIs2I<+wSH(o$G<_U8JHd)Fe?+(r|FO(V{cPGZ>W$MZ&l(s{8?o+6){ScM1 z_8ES5yJM1Q)j~U;YIZ2QoX+y^o9^#NWbag-<&Lr6L%yAAVn<#E+P>3NF)W7tLg3E~ z6u_*63g9#53y$Wo!g|r>owwPk6y!l_IOEdV$ElT{6JyMC7RBvS&Q*TagO17;Cy3oz zPdUuC=L&0f=wxBdhBAjLm|YC^{Q_YN+4w%fmH@`O zupT4tZsq*KY@8KseYIO$M#6Inr7?S+yF+_Ug%NkOD-)@7xAI(!H#6){HLSfhLA2{; zix$_^m3QbYvtNN7x=>Iv!;xg~QO=WzVq1tsbSG?oL%u!AevKE=57<(E{tS2-(wD|(^ZeUNJQs*HH< zZS5r=JCJ?RK%M#~ir$t^^o& zWA%me7Nh-+DH6uK?w$Z1`eOJeRlTGf_ay6m>t4X)a-?O#nSZLPO4xwjn|Q8ufe~` zZVffmEB|G%M|qA~a^zx-N|9*Kj1gcR@O;L#w|cw=jJMOkm(3N$5261ec^edcz9YIk zk-Jh`ZshrDF_!CrXJ-k{ZR*N(MMIviPqD;QZxEr+p0dvLPbnq#`>4gTb zXA1YJTWinL=FYd9@3dX$eiP3}6OC^QnQ0CA_NmzY%<5`dqh++JFu8{FDM&`hy?$3| z?lP|M-T#Ym+$h11Vqx_R7jIjDubL{)rkB5=;67D8g2&e0j@>V8u3W6Y0zb($(Sl`V z4NDdMukor`;(qh)rnN-m~0ms=c%RRy!%;Wa3Cg%&ndagXdggbeEov2uA zFqA2FCvGPl@>H~27g**44}Hs@1fIi1*J47;q_mg$d^%RVwVf<1?=r4@q1o8+yg}=+ z-orK#4|X@>Zj_lPps}V*4HP@@-}yg#DPQ#6f)`>3GI*unU9CLSuUPD? zL6oy!C9S$g%ogAf!Nqo^H*ZyXmZ7KHb&R`t&UhCZ*Kok-49n?RVi~&0Gy#vqV#cbq zE>OdMKWw`uimG#GeWM)#y;( z@m%?rs~=-cZvcSHRSGsK&+4g|xy=Vzj%g@2m>xBGkf>o_wANAF0p)a_E^KJKZJ?Y3 zD&suZ2_e0aFhi^!oi9F15W#1_qh|{61@P_Ea6ozfa~~q}Me{bRV=BR7G1+|LFC+c*#`UocaxUBaXrFDdYe^HJ-Ppsmxoec*27_~AxAy3$q zSpr9at)aL>Dx-hCus!hZG1>3|4}GE6125)mX*nbptC%Vd@pmt;86E%Z6oHGt&Z7n% z>mb-Xu7wseyY}2;+NuXCVzO~B@X({$De@jx_9yz+=UE`OpLn+`MGUf!ExWV6fS&_y&NSap4Ue_(LGd;d>_AwZqO(Vp?@O@t*lxRkov~c3 zYPs9Bn0`1-{-ClikT0lWKZeeOSP7;F#yo`jI5YW9XJH_(Z7o}Exn85HAn*7qguMmX zMJw=M20>;of*po_Rbpx-QrxTjdAU+-|AfWa73@Wq?f#FUu=fJdc`R%b-CgI#9x~>guCW_7F-r-YZaWJl(ENY-48z z+MawZ!fTY1^ByQJESg`mf~tN>33PaSXqb~_INy-G#RdMdu@5X+Qc%2XX?k^>vWL;A zv#q_ZYb3iG(-sshE66SJ=M{+3aC)kFcwphVMIEAyCdL^zIDL6_%OE?ZdPAZ;HSp*M zx8FpYIw#QO&y!>ByD@N5iN9=V!B{u6dy0w+(y8SiLn9{VCe6uBo)d_@yt!lab!B)? zDk&=}UY5Q*u;<(3;n#CfeRG1{hvpxj6=?qV)i&2*dgDwwGVMyT-dC?2}!p zBg1W9<3?pWH+2mOdaN&<;yxO!bGo^6x9UK=-L3juf}P#?c!K?h&QUkwHk0%<#tgRK b?9}+_XuCEdEM|4}#_@Kt{bqG=yxs4=uDO?3 delta 6119 zcmZu#dstOf7T*WFqWIumMYacF6x4hsUU_JbQBYKHl)U&T&3K3xB^0Wq^`nQ4#tqM5YpYnrvsT06ha%=+W*bAG?I*4}&V zwbnW3p4jBLveB_=c+l=i{*f8M;g9bsy*&Hgv@@^79tjH&nzRhAKPvO<7HWXo!M=p365j7YZtQG;wE4u04kT51Db|r&{?k1oQ;{oWztr{W3Ugga! zV0Htfbd|+J?XH;Bmye&c$M6XxH`z$ z)9GI8*FnlF(lM$RT7f^PukkSWUXkt&yjR+(Ht#XL34e_7dU7V7g7#OWc@9~p7$ExB zG0ek7Fm}pv6AwxGygiNJQOvGp{1k^vCrbF5pNPuR9s$oh4*(4J;|>^$XQ zun;lqXnJ3oAm5gyo58b7nmd?nx6Fjl@fZpfyQJgy;rgWZfgiP=3=u~WIYe+RDJ(tMHGKk*K6y_WQW6lCKh*s%GG;tf z@0P}6>KBIl`x{lzj{F!?uX70)d*qDcc&}E{Yd(1^qCv!BfvM)yG?4&~p~y#E=`UDH zI47L=ED{#)8Dk8E%01Gt9uI@kwia6PzI&9ukB81Z(map%%E`ppb>-vGzt#1RcnJf^3ZF zFTUPO%fY<0Bnn)6rP+ihs5~cgIbao75(g=JrQ^+5y~Ez%Lv1gnmD1jsMOt{GmK=m? zWZ!2t;eJB(4r8Gm*_A`cHlGXf4z>*ieqalwdZl+>XekwimZ1S?jXn|a+dRSJQPAFvVg4G&sHvta%O!Hvrjr+7|y$QH{q4i z>**l{eX=1V2%o{V8^`w1P_a*%>zFNBM(`wNyMQ0rH5eY{^JFf;x`CL`u}>z>#D1mN zP_|8D+w+WP z4{9~Qk3?O%y`X)+Ok9D^72AO6>lFkZ)dzyz=)1KWdDNA7KSr7S0NGhDzL!`+12 zA0NMk+yl~a5Lv22H&h;w?z(ZLZSSlbp7!$>kT`i{?c$%gx$1)NZX%Hdc@=Ny`Y!7M?PvWMOXrC7upPfNC=A|WL!RME=uHsfyPdvr( z(P4TQlUjKjnM2w-L5E-xDEtH$++?D~0mQ9iar{eP84fV&rMViDRatD}cB|L*1GM|4 z;RJWRG;*xpt?D=ZdraE@H?!y0gtu@tL$upb`G!i z660@SOqJ-KKNag#&HfFRl#&%Rh$6;!a!KhTxWITDJLc{$vXU)75h9aw2=6U<9xtpw zc>{Q*rdq>O>A*y$5I!F>T}c=X!pHb3#&Fo{cqAbS++~nYw0@24|hP zt~JcLQ%K`1*LWVoySqhc7w*}@LsLs zB1cIFeJHdy$nu=2#D2?1q7SkKaaYj)zUsZp`fGVt(|DHmr;#5omXVSO8bk>upqkzO z^4CE4LUD=Ps?PO6m}$zOmRG{-5^EW^znOl)_??9`qdtfQ(E6&J^;J4~6L%Axzyp2EphL6>K4zJYumhp=Lo~9*_&LrIa_InXxUXz9!DqfRj1GYtF zYws4};D1dc3&!usCS0dNF{X^t zU&Os~4AJ6E#wT*3Phxx;R=3i>fss|BGsI7LxrpVJJwd$ahli;Qt}i7(r$P?5TgjEt z%KE!l|I1tgk{SO5arK#F{|@+?^;cUtj;~(W1TCq=Y;j`b@9{Ih!xm_5l8%A%b=;Og zXA^!!;k{aB632~Os~8F~2c_x9OjWEsGlzrcpiEzN53y+pG(~Tosg3a`cO8m=e8@hJ&oX6u9iMqhw$dQ_LiHi(D9GZKd7JP`=^e6yezUP8V|FS0AZDAA zTWAnF5Lahm|3yzA1bczjx z%GYK3gSb=0Uf`3}m2-&kSnhS>*yrTMq#uQ+r(}09jrbHrZwvE?{f-|GBZ(9rGakW@ zFdf&=8Mi<43&3+&rVqo<9JMz4$3QdVS=?v~c$NWJjY>a*`)Um1E5UzQnn#(9;8W3S z>jfQ$rGa0cN2IY${hG~~k;;$#D?b5JkX^rw*!?_hf1af~_>RcvQbd*QD$ErndJQ)a zr;eC*KWSv5A0@g+ybA5;Jsj7r?4QQYrGy88U#!j2JjQI;a$>dZ1aLRY=;shswrlyh zeTrE{K5PPN1?my3WFQUV4aT={8U`3o^^v~) zf0s`YryWlyC5;wdwTCS?fU8BC!7GWizd|j9lopwOfmwU6xW;%bJ{y$`qd}yVk+;)~ z4`F-@RO4JdA0T!Sv!j_^4(%;6aRak;+*);Xe_*@@vsXz!8pMiK9Cc$gxLalP<9M$k z_W<@DCA?j6N$Z*aVU5vP!AiCoG(HQJtaa0<&1)e)P-hlJR(yI=S zHbP<4@v1)Vq`c+c+|s+36_k1Bl;q}lS3*qK09e}=S@lhVkp$l!AJ8i)ued0`U}<7W zX+cpLxNdl%_|41R7)`BmI*hr2nzmyh;QMJR%xlXC{B-hT1ID#?!uV5n1nN&0hQf-I z(*xr_c%etn3~lC~x(eRAvZz~j-b1GMeRX-yK-{&X!2x+A(*aAI@qw#9 zb?xSICzj-vuJlf^)-ki7$O{#x5<)WPBxKJ?%x?TL#CSU_%pGs-WJ>Xh72cw0)$k{7f2VkE&ZH8qTWX!A5v@Uda?UbR0{zBGN@