тАЬрд╕рд┐рд╕реНрдЯрдо рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐
рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕рд░рд▓ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП
рдЗрд╕рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдмрд╛рдж тАЭрдмрдЬрд╝реНрдиреЗ рд╕реНрдЯреНрд░реЙрд╕реНрдЯреНрд░реБрдк - рдкреНрд░реЛрдЧреНрд░рд╛рдорд░, рд╕реА ++ рдХреЗ рд▓реЗрдЦрдХрдкреНрд░рд╕реНрддрд╛рд╡рдирд╛
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рд▓реЛрдХрдкреНрд░рд┐рдп
рдкреЛрд░реНрдЯреЗрдмрд▓ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рд╕рдВрдХреНрд╖рд┐рдкреНрдд POCO) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЬреЛ рдХрд┐ рд╣рдмрд░ рдкрд░ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдХрд╡рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред рдпрд╣ рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЙрддреНрдкрд╛рдж рдХреЗ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдЧреВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕реБрд▓рдЭрд╛рдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред C ++ рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╕рднреА рдмрд╣реБрддрд╛рдпрдд рдХреЗ рд╕рд╛рде, рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧ POCO рдХреЗ рдЖрдордиреЗ-рд╕рд╛рдордиреЗ рд╣реИрдВ рдФрд░ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдирд┐рд╣рд┐рдд рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдФрд░ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджреЗрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдпрд╣ рднреА рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдУрдкрди рд╕реЛрд░реНрд╕ рдФрд░ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рджреЛрдиреЛрдВ рддрд░рд╣ рдХреА рдХрдИ рд╕рдлрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВред
рд╡рд┐рд╡рд░рдг
POCO рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬреЛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЙрддреНрдкрд╛рдж рдХреЗ рд╡рд┐рдХрд╛рд╕, рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрдо рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рд╣реИред рдЙрд╕рдХреЗ рд╕рд╣рдпреЛрдЧреА рдХреА рддрд░рд╣, рдмреВрд╕реНрдЯ, POCO рдХреЛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЕрдкрдиреА рднреВрдорд┐рдХрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмреВрд╕реНрдЯ рдХреА рддрд░рд╣ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд╛рд░реНрдб-
рдХреЛрд░ рдХреЗ рд░реВрдк рдореЗрдВ
рдЯреЗрдореНрдкрд▓реЗрдЯ рдЬрд╛рджреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдмрдЪрддрд╛ рд╣реИред рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд▓рд╕ рдЕрдВрддрд┐рдо рд╡рд┐рддрд░рдг рдХрд╛ рдЖрдХрд╛рд░ рд╣реИ - POCO (рдкреЛрдХреЛ рдлрд╛рдЙрдВрдбреЗрд╢рди) рдХрд░реНрдиреЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рд▓рдЧрднрдЧ рдбреЗрдврд╝ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдореЗрдореЛрд░реА (рд╕рдВрд╕реНрдХрд░рдг 1.4.3.0, MSVC v100) рд▓реЗрддрд╛ рд╣реИ, рдмрд╛рдХреА рдореЙрдбреНрдпреВрд▓ 50 рд╕реЗ 800 рдХреЗрдмреА рд╕реЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЖрдзреБрдирд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рднреА рдЬреНрдпрд╛рджрд╛ рдирд╣реАрдВ рд╣реИред ред
рдПрдкреНрд▓рд╛рдЗрдб рдЗрдВрдлреЙрд░реНрдореЗрдЯрд┐рдХреНрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ GmbH - POCO рдХреЗ рдбреЗрд╡рд▓рдкрд░ рднреА RJ-45 рдХрдиреЗрдХреНрдЯрд░ рдлреЙрд░реНрдо рдлреИрдХреНрдЯрд░ рдореЗрдВ рдмрдиреЗ
Digi Connect ME 9210 рдЬреИрд╕реЗ рдЫреЛрдЯреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ 2 рдпрд╛ 4 рдПрдордмреА рдлреНрд▓реИрд╢ рдФрд░ рдмреЛрд░реНрдб рдкрд░ 8 рдПрдордмреА рд░реИрдо рд╣реИред
POCO рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рдХрд╛рд╕ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдореЛрдВ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
Windows, Unix, Linux, eLinux, Mac OS X, Solaris, QNX Neutrino, Vxworks, Openvms, Tru64, HP-UX, Android ред рдпрд╣ рд╕реВрдЪреА рдХрд╛рдлреА рддреЗрдЬрд╝реА рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдирд┐рд░реНрднрд░ рдореЙрдбреНрдпреВрд▓ рддрд░реНрдХ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЧрдП рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, POCO рдХреЛ рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП C ++ рднрд╛рд╖рд╛ рдХрд╛ рдПрдХ рдЖрдзреБрдирд┐рдХ рд╕рдВрдХрд▓рдХ рд╣реИред
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХрд┐рд╕реА рднреА рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рд╕рд░реНрд╡рд░ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╣реЛ, рдЬрдмрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХрд┐рд╕реА рднреА рдЙрдкрд▓рдмреНрдз рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИ (рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ, рдХрднреА-рдХрднреА рд╡рд┐рд╢реЗрд╖ рдЬрд╛рджреВ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, POCO рдореЗрдВ рдЯреАрд╕реАрдкреА рд╕рд░реНрд╡рд░ рдлреНрд░реЗрдорд╡рд░реНрдХ, рд░рд┐рдПрдХреНрдЯрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЬреИрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд╣реИрдВ, рдЬреЛ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рд╡рд╛рд▓реЗ рд╡реЗрдм-рд╕рд░реНрд╡рд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╣рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдкрд░ рд╕рдордп рдмрдЪрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдпреВрдирд┐рдХреНрд╕ рдбреЗрдореЙрди, рд╡рд┐рдВрдбреЛрдЬ рд╕реЗрд╡рд╛рдПрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдиреИрдк-рдЗрди рд╣реИред рдХреНрдпреВрдЯреА, wxWidget, GTK + рдЬреИрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рдо рд╕рдВрднрд╡ рд╣реИред
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ
рдЬрд╛рд╡рд╛ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рдПрдордПрд╕ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рдРрдкреНрдкрд▓ рдХреЛрдХреЛ рд╕реЗ рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпреЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЪреАрдЬреЗрдВ рд╣реИрдВ, рдЬреИрд╕реЗ рдкреНрд░рд╡рд╛рд╣ рдирд┐рдпрдВрддреНрд░рдг рдпрд╛ рдЯрд╛рдЗрдорд░ред
рдкреЛрдХреЛ рдорд╛рдирдХ рд╕реА ++ рдФрд░ рдПрд╕рдЯреАрдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
рдПрдПрдирдПрд╕рдЖрдИ / рдЖрдИрдПрд╕рдУ рд╕реА ++ 2003 рднрд╛рд╖рд╛ рдорд╛рдирдХ рдХреЗ рд╕рдЦреНрдд рдкрд╛рд▓рди рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
рдмреВрд╕реНрдЯ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬреЛ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдФрд░ рдЧреИрд░-рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдЙрдкрдпреЛрдЧ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
POCO рдХреИрд╕реЗ рд╕реАрдЦреЗрдВ
рдЖрдк рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ, SDK рд╕рдВрджрд░реНрдн рдореЗрдВ рдФрд░ рдкреНрд░рд╕реНрддреБрддрд┐рдпреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрджрд╛рд╣рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдмреБрдирд┐рдпрд╛рджреА рдореЙрдбреНрдпреВрд▓ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛрд░
- рдбрд╛рдпрдиреЗрдорд┐рдХ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдЯреВрд▓ рдХреЛрдИ рднреА рдФрд░ рдбрд╛рдпрдирд╛рдорд┐рдХ
DynamicAny any("99"); int i = any;
- рд╕рдордп рдФрд░ рддрд╛рд░реАрдЦ рдореЗрдВ рд╣реЗрд░рдлреЗрд░
const char *date = "05.06.1977";
- рдШрдЯрдирд╛ рдФрд░ рдЪреЗрддрд╛рд╡рдиреА рдЙрдкрдХрд░рдг
#include "Poco/BasicEvent.h" #include "Poco/Delegate.h" #include <iostream> using BasicEvent; using Delegate; class Source { public: BasicEvent<int> theEvent; void fireEvent(int n) { theEvent(this, n); } }; class Target { public: void onEvent(const void* pSender, int& arg) { cout << "onEvent: " << arg << endl; } }; int main(int argc, char** argv) { Source source; Target target; // Event' source.theEvent += Delegate<Target, int>( &target, &Target::onEvent); // source.fireEvent(42); // source.theEvent -= Delegate<Target, int>( &target, &Target::onEvent); return 0; }
- рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг
RegularExpression regular("([0-9]+) ([0-9]+)"); vector<string> arr; regular.split("123 456", 0, arr);
- рдЧрддрд┐рд╢реАрд▓-рд▓рд┐рдВрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгред
SharedLibrary lib("C:\\Windows\\System32\\shell32.dll"); if (lib.isLoaded() && lib.hasSymbol("Control_RunDLL")) { auto fun = static_cast<void (*)()>(lib.getSymbol("Control_RunDLL")); fun();
- рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдЙрдкрдХрд░рдг
- рдПрдХрд╛рдХреА рд╡рд╕реНрддреБ
class Singleton { public: int add(int i, int p) { return i+p; } static Singleton& instance() { static SingletonHolder<Singleton> single; return *single.get(); } }; тАж int res = Singleton::instance().add(1,2);
- рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реВрддреНрд░
- рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рдгрд╛рд▓реА рдХреА рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдХрд╛рдо
cout << " : " << Environment::osName() << "\n : " << Environment::osVersion() << "\n: " << Environment::osArchitecture() << "\n. : " << Environment::nodeName() << "\nMAC-: " << Environment::nodeId(); if (Environment::has("HOME")) cout << "\n .: " << Environment::get("HOME") << endl; Environment::set("POCO", "foo");
рдбреЗрдЯрд╛ рд╕рдВрдкреАрдбрд╝рди
- рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдбреЗрдЯрд╛ рд╕рдВрдкреАрдбрд╝рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг
- рдЬрд╝рд┐рдк рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг
ofstream zipper("text.gz", ios::binary); ofstream text("text.txt", ios::binary); text << "Hello my little computer world. I can zip this string. It's wonderful."; text.close(); Zip::Compress zipc(zipper,true); zipc.addFile (Path("text.txt"), "text.txt"); zipc.close(); ifstream dezipper("text.gz", ios::binary); poco_assert (dezipper); Zip::Decompress zipd(dezipper,Path().append("\\text.dz")); zipd.decompressAllFiles();
рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА
- рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░
Random rnd; rnd.seed(); cout << ": " << rnd.next() << "\n: " << rnd.next(10) << "\n: " << rnd.nextChar() << "\n: " << rnd.nextBool() << "\n . : " << rnd.nextDouble(); RandomInputStream ri; string rs; ri >> rs;
- рд╣реИрд╢ рдмрдирд╛рдиреЗ рдХрд╛ рддрдВрддреНрд░
string message(" "); string passphrase("anl!sfsd9!_3g2g?f73");
- X509 рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╕рдкреЛрд░реНрдЯ
- рдбреЗрдЯрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдореИрдХреЗрдирд┐рдЬреНрдо
- рд╕реНрдЯреНрд░реАрдо рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА
- рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕рдорд░реНрдерди
рдбреЗрдЯрд╛рдмреЗрд╕
- рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛рдмреЗрд╕ (SQLite, MySQL, ODBC, рдЖрджрд┐) рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛
Data::SQLite::Connector::registerConnector(); Data::Session ses("SQLite", "mydb.db"); int count = 0; ses << "SELECT COUNT(*) FROM PERSON", into(count), now; cout << "People in DB " << count; string firstName(""; string lastName(""); int age = 0; ses << "INSERT INTO PERSON VALUES (:fn, :ln, :age)", use(firstName), use(lastName), use(age), now; ses << "SELECT (firstname, lastname, age) FROM Person", into(firstName), into(lastName), into(age, -1), now; Data::SQLite::Connector::unregisterConnector();
- рд╕рддреНрд░ рдкреВрд▓
- RecordSet
Statement select(session); select << "SELECT * FROM Person"; select.execute(); RecordSet rs(select);
- tuples
struct Person { string fullname, city; size_t age; }; тАж typedef Tuple<string, string, int> Person; vector<Person> people; people.push_back(Person("Bart Simpson", "Springfield", 12)); people.push_back(Person("Lisa Simpson", "Springfield", 10)); Statement insert(session); insert << "INSERT INTO Person VALUES(:name, :address, :age)", use(people), now;
рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо
- рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реНрд╡рддрдВрддреНрд░ рдХрд╛рдо
Path p_wind("C:\\Windows\\system32\\cmd.exe"); Path p_unix("/bin/sh"); p_wind = "projects\\poco"; p_unix = "projects/poco"; p_unix.parse("/usr/include/stdio.h", Path::PATH_UNIX); bool ok = p_unix.tryParse("/usr/*/stdio.h"); ok = p_unix.tryParse("/usr/include/stdio.h", Path::PATH_UNIX); ok = p_unix.tryParse("/usr/include/stdio.h", Path::PATH_WINDOWS); ok = p_unix.tryParse("DSK$PROJ:[POCO]BUILD.COM", Path::PATH_GUESS);
рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
- рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд▓реЙрдЧ рдкреНрд░рдмрдВрдзрди рдЙрдкрдХрд░рдг
- рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рд▓реЙрдЧ рдХрд░реЗрдВ
- рд▓реЙрдЧ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдЪреИрдирд▓
рдмрд╣реБ рд╕реВрддреНрд░рдг
рдиреЗрдЯрд╡рд░реНрдХ рддрдХрдиреАрдХ
- рд╕реЙрдХреЗрдЯ
Net::SocketAddress sa("www.habrahabr.ru", 80); Net::StreamSocket socket(sa); Net::SocketStream str(socket); str << "GET / HTTP/1.1\r\n" "Host: habrahabr.ru\r\n" "\r\n"; str.flush(); StreamCopier::copyStream(str, cout);
- рдмрд╣реБрд╕реНрддрд░реАрдп рд╕рд░реНрд╡рд░
- рдбреАрдПрдирдПрд╕
const HostEntry& entry = DNS::hostByName("www.habrahabr.ru"); cout << " : " << entry.name() << endl; const HostEntry::AliasList& aliases = entry.aliases(); for (HostEntry::AliasList::const_iterator it1 = aliases.begin(); it1 != aliases.end(); ++it1) cout << ": " << *it1 << endl; const HostEntry::AddressList& addrs = entry.addresses(); for (HostEntry::AddressList::const_iterator it2 = addrs.begin(); it2 != addrs.end(); ++it2) cout << "IP: " << it2->toString() << endl;
- рдХреБрдЫ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░рдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (FTP, SMTP, рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рд╣рдХ
- HTTP (S) рд╕рд░реНрд╡рд░, HTTP рдкреНрд░рдорд╛рдгреАрдХрд░рдг
- C ++ рдХреЛрдб рдХрд╛ рдХрдВрдкрд╛рдЗрд▓рд░ - HTML рдЖрд╡реЗрд╖рдг, HTML рдлреЙрд░реНрдо рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ, MIME
- рдпреВрдЖрд░рдЖрдИ рд╕рдорд░реНрдерди, рдпреВрдпреВрдЖрдИрдбреА
- RFC 6455 рд╕рдкреЛрд░реНрдЯ
- рдПрд╕рдПрд╕рдПрд▓ / рдЯреАрдПрд▓рдПрд╕ рд╕рдкреЛрд░реНрдЯ
рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ
- рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╣реЗрд░рдлреЗрд░ (рдкреНрд░рд╛рд░рдВрдн, рд░реЛрдХ)
cout << " PID: " << Process::id() << endl; vector<string> args; args.push_back("shell32"); args.push_back("ShellAboutA"); Process::launch("rundll32", args);
- рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддреБрд▓реНрдпрдХрд╛рд▓рди
- рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рддрдВрддреНрд░
File file("Shared.dat"); SharedMemory mem(file, SharedMemory::AM_READ); cout << &*mem.begin() << endl;
рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рд╕рдВрдЪрд╛рд▓рди
- рд╕реНрдЯреНрд░реАрдо рдХреЛрдбрд┐рдВрдЧ / рдбрд┐рдХреЛрдбрд┐рдВрдЧ BASE-64, HexBinary
Base64Encoder encoder(cout); encoder << " Base64 stdout";
- рдореЗрдореЛрд░реА рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо
- URI рд╕реНрдЯреНрд░реАрдо рд╕рдорд░реНрдерди
Net::HTTPStreamFactory::registerFactory(); auto_ptr<istream> input( URIStreamOpener::defaultOpener().open("http://habrahabr.ru") ); cout << input->rdbuf();
рдкрд╛рда рдПрдиреНрдХреЛрдбрд┐рдВрдЧ
- UTF-8 рдФрд░ рдпреВрдирд┐рдХреЛрдб рд╕реЗ / рдХреЛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ
string utf8(" UTF-8 ."); UTF8Encoding decoder; TextIterator end(utf8); for (TextIterator iter(utf8, decoder); iter != end; ++iter) int unicode = *iter;
- рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ
string latin(" Latin1 ."); Latin1Encoding decoder; UTF8Encoding encoder; OutputStreamConverter converter(cout, decoder, encoder); converter << latin << endl;
рдЙрдкрдпреЛрдЧрд┐рддрд╛
- рдХрдВрд╕реЛрд▓ рдФрд░ рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ред
- рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рд╕рдорд░реНрдерди
рдХрд╛ рд╡рд┐рдиреНрдпрд╛рд╕
- рдпреВрдирд┐рдХреНрд╕-рдбреЗрдореЛрдВрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдмрдирд╛рдирд╛
рдПрдХреНрд╕рдПрдордПрд▓
- рд╕рдорд░реНрдерди рдбреЛрдо, SAX2
- рд░реАрдб рдореЛрдб рдФрд░ рд░рд╛рдЗрдЯ рдореЛрдб рджреЛрдиреЛрдВ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░реЗрдВ
рдирд┐рд╖реНрдХрд░реНрд╖
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдХреБрдЫ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╡рд░реНрдгрди рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдпреЗ рдореЙрдбреНрдпреВрд▓ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ рдФрд░ рдЕрд▓рдЧ рд▓реЗрдЦ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдкреВрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рднрд╡рд┐рд╖реНрдп рдЙрдЬреНрдЬреНрд╡рд▓ рд╣реИред рдореИрдВ POCO рдореЗрдВ рдирдП
C ++ 11 рдорд╛рдирдХ рд╕реЗ рдХреБрдЫ рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреЛ рднреА рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдЕрдЧрд▓рд╛ рд▓реЗрдЦ POCO рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдореБрдЭреЗ рд╡рд╕реНрддреБрдирд┐рд╖реНрда рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдЖрдкрддреНрддрд┐рдпреЛрдВ рдкрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред