- °³¿ä
- ÆÄÀÏ ¼³¸í
- Ŭ·¡½º ¼³¸í
- ±¸Á¶Ã¼ ¼³¸í
- ÇÔ¼ö ¼³¸í
- Ŭ·¡½º ¶Ç´Â ±¸Á¶Ã¼ ³»ºÎ µ¥ÀÌÅÍ ¼³¸í
- ¿°Å°ª ¼³¸í
- ¸ÅÅ©·Î ¼³¸í
- ¸®½ºÆ® ¸¸µé±â
- ÁÖ¼® ¹®ÀÚ¿ ±×´ë·Î ÀÌ¿ëÇϱâ
- ¸â¹ö º¯¼ö/ÇÔ¼ö ±×·ì ÁÖ¼® ´Þ±â
- Dox ÆÄÀÏ ¹®¹ý
1 °³¿ä
°³ÀÎÀûÀ¸·Î ÀÚÁÖ »ç¿ëÇÏ´Â DoxyGen ÁÖ¼® Æ÷¸ËÀÌ´Ù. À̿ܿ¡µµ À¯¿ëÇÑ Å±׵éÀÌ ¸¹À¸´Ï, DoxyGen ÇïÇÁ ÆÄÀÏÀ» Âü°íÇϵµ·Ï. ±×¸®°í ÇÔ¼ö Çì´õ °°Àº °Í ¸Å¹ø ŸÀÌÇÎÇØ¼ ¸¸µé·Á¸é Á×À½ÀÌ´Ï, ¸ÅÅ©·ÎÀÇ »ç¿ëÀº Çʼö´Ù. VisualStudioMacro ÆäÀÌÁö¸¦ Âü°íÇϽöó.
2 ÆÄÀÏ ¼³¸í
ÆÄÀÏÀÇ Á¦ÀÏ À§¿¡´Ù ºÙÀÌ´Â °ÍÀÌ ÁÁ´Ù.
//////////////////////////////////////////////////////////////////////////////
/// \file ChatterEliza.h
/// \author excel96
/// \date 2003.4.16
///
/// ¿ø·¡ eliza´Â ¹®Àå ġȯÀÌ 1±ºµ¥¿¡¼ ¹Û¿¡ ÀϾÁö ¾Ê´Â ½Ã½ºÅÛÀ̾úÀ¸³ª,
/// ¹®Àå ġȯÀÌ ÀϾ ¼ö ÀÖ´Â °÷À» ¿©·¯ ±ºµ¥·Î ¸¸µé±â À§ÇØ ²Ï ¼öÁ¤À» Çß´Ù.
///
/// \todo
/// À¯´ÏÄÚµå ´ëºñ ÇÒ °Í.
/// \bug
/// ¹ö±× Á¹¶ó ¸¹´Ù.
/// \warning
//////////////////////////////////////////////////////////////////////////////
3 Ŭ·¡½º ¼³¸í
¿Ø¸¸Çϸé Ŭ·¡½º ¹Ù·Î À§¿¡ ºÙÀÏ °Í.
//////////////////////////////////////////////////////////////////////////////
/// \class ChatterEliza
/// \brief ´ëÈ ½Ã½ºÅÛÀÇ Çϳª
///
/// ChatterEliza´Â À¯ÀúÀÇ ÀÔ·ÂÀ» ÆÐÅÏÀ¸·Î ÀνÄÇÏ¿©, ¹Ì¸® ÁغñµÈ ´ë´ä Áß¿¡
/// Çϳª¸¦ Àû´çÇÑ Ä¡È¯À» ÅëÇØ ¸¸µé¾î³»´Â ´ëÈ ½Ã½ºÅÛÀÇ ÀÏÁ¾ÀÌ´Ù.
///
/// ChatterEliza´Â ÀÔ·Â ÆÐÅϰú Ãâ·Â ÆÐÅÏÀÇ ½ÖÀ¸·Î ÀÌ·ç¾îÁø µ¥ÀÌÅͺ£À̽º¸¦ °¡Áö°í
/// ÀÖÀ¸¸ç ÀÔ·ÂÀ» ¹ÞÀ¸¸é À̰Ͱú ¸ÅÄ¡ÇÏ´Â ÀÔ·Â ÆÐÅÏÀ» ã¾Æ³»¾î ±×°Í°ú ½ÖÀÌ µÇ´Â
/// Ãâ·Â ÆÐÅÏÀ» ±Ù°Å·Î ÀÀ´äÀ» »ý¼ºÇÑ´Ù. ¿¹¸¦ µé¸é
///
/// <pre>
/// Pattern : %0 are you %1
/// Response : Would you prefer it if I weren't %1
/// </pre>
///
/// ¶ó´Â ½ÖÀ» ÀÌ¿ëÇÏ¿©, "Why are you looking at me?"¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î¼
/// "Would you prefer it if I weren't looking at you"¸¦ »ý¼ºÇÑ´Ù´Â ¸»ÀÌ´Ù.
//////////////////////////////////////////////////////////////////////////////
4 ±¸Á¶Ã¼ ¼³¸í
¿Ø¸¸ÇÏ¸é ±¸Á¶Ã¼ ¹Ù·Î À§¿¡ ºÙÀÌ´Â °ÍÀÌ ÁÁ´Ù.
//////////////////////////////////////////////////////////////////////////////
/// \struct DatabaseManager::IMPL
/// \brief DatabaseManager ³»ºÎ µ¥ÀÌÅÍ
///
/// ÀÚ¼¼ÇÑ ¼³¸íÀÌ ÇÊ¿äÇѰ¡? ±×³É °£´ÜÇÑ PIMPLÀÏ »Ó...
//////////////////////////////////////////////////////////////////////////////
5 ÇÔ¼ö ¼³¸í
¿Ø¸¸Çϸé ÇÔ¼ö ¹Ù·Î À§¿¡ ºÙÀÌ´Â °ÍÀÌ ÁÁ´Ù.
//////////////////////////////////////////////////////////////////////////////
/// \brief ½ºÆ®¸µ º¤Å͸¦ ȸ鿡 Ãâ·ÂÇϱ⠽±°Ô Çϱâ À§ÇÑ À¯Æ¿¸®Æ¼ ÇÔ¼ö
///
/// \param con ÄÜ¼Ö °´Ã¼
/// \param SV Ãâ·ÂÇÒ ½ºÆ®¸µ º¤ÅÍ
/// \return Console& coutó·³ Âß Ãâ·ÂÇÒ ¼ö ÀÖµµ·Ï ÄÜ¼Ö °´Ã¼¸¦ ´Ù½Ã ¸®ÅÏÇÑ´Ù.
//////////////////////////////////////////////////////////////////////////////
static Console& operator << (Console& con, vector<string>& SV)
{
for (size_t i=0; i<SV.size(); i++) { con << "[" << SV[i] << "]"; }
return con;
}
6 Ŭ·¡½º ¶Ç´Â ±¸Á¶Ã¼ ³»ºÎ µ¥ÀÌÅÍ ¼³¸í
¸â¹ö º¯¼ö ¹Ù·Î µÚ¿¡ ºÙ¿©µµ µÇ°í...
CONTEXT_MAP ContextMap; ///< ½º·¹µåº° Connection °´Ã¼ÀÇ ÁýÇÕ
CriticalSection ContextCS; ///< ConnectionContext °´Ã¼ »ý¼ºÀ» À§ÇÑ ¶ô
unsigned int PingTime; ///< ´ÙÀ½ ÇÎ ¶§¸± ½Ã°£
¸â¹ö º¯¼ö À§¿¡ ºÙ¿©µµ µÈ´Ù. ´Ü '<'´Â ¶¼¾ß µÈ´Ù.
/// ½º·¹µåº° Connection °´Ã¼ÀÇ ÁýÇÕ
CONTEXT_MAP ContextMap;
/// ConnectionContext °´Ã¼ »ý¼ºÀ» À§ÇÑ ¶ô
CriticalSection ContextCS;
/// ´ÙÀ½ ÇÎ ¶§¸± ½Ã°£
unsigned int PingTime;
7 ¿°Å°ª ¼³¸í
//////////////////////////////////////////////////////////////////////////////
/// À°¼º Å¥¿¡´Ù Áý¾î³ÖÀ» ¼ö ÀÖ´Â ÇൿÀÇ Á¾·ù
//////////////////////////////////////////////////////////////////////////////
enum TrainClass
{
TRAIN_MAGIC = 0, ///< ¸¶¹ý
TRAIN_EXERCISE, ///< ¿îµ¿
TRAIN_COOKING, ///< ¿ä¸®
TRAIN_RECREATION, ///< ³îÀÌ
TRAIN_CLEANSING, ///< û¼Ò
TRAIN_READING, ///< µ¶¼
TRAIN_REST, ///< ÈÞ½Ä
TRAIN_MAX ///< ¹è¿À» À§ÇÑ ¸Æ½º°ª
};
8 ¸ÅÅ©·Î ¼³¸í
¸ÅÅ©·Î À§¿¡´Ù ºÙ¿©µµ µÇ°í...
/// \a X¿Í \a Y Áß Å« °ªÀ» ¸®ÅÏÇÏ´Â ¸ÅÅ©·Î
#define MAX(X, Y) ((X) > (Y) ? (X) : (Y))
¹Ù·Î ¿·¿¡´Ù ºÙ¿©µµ µÈ´Ù.
#define MAX(X, Y) ((X) > (Y) ? (X) : (Y)) ///> \a X¿Í \a Y Áß Å« °ªÀ» ¸®ÅÏÇÏ´Â ¸ÅÅ©·Î
°£´Ü ¼³¸í, ÀÚ¼¼ÇÑ ¼³¸í µû·Î ºÙÀÌ°í ½Í´Ù¸é...
/// \brief \a X¿Í \a Y Áß Å« °ªÀ» ¸®ÅÏÇÏ´Â ¸ÅÅ©·Î
///
/// ¿Ø¸¸ÇÏ¸é µÎ Àμö¸¦ °°Àº ŸÀÔÀ¸·Î Áà¾ß ¾ÈÀüÇÒ °ÍÀÌ´Ù.
#define MAX(X, Y) ((X) > (Y) ? (X) : (Y))
9 ¸®½ºÆ® ¸¸µé±â
ÆÄÀ̽㿡¼ ÇÏ´Â °Íó·³ ÄÀ» µüµü ¸ÂÃç¼ '-' ¹®ÀÚ¸¦ »ç¿ëÇÏ¸é µÈ´Ù. '-' ¹®ÀÚ µÚ¿¡´Â ÇÑ Ä ¶ç¿ìµµ·Ï.
/// - <b>10 11 12</b>
/// ¸ðµç °ÍÀÌ ¼ø¼´ë·Î ¿Ô´Ù. LastID´Â ¸Å¹ø Áõ°¡ÇÑ´Ù.
///
/// - <b>11 10 12</b>
/// ¸ÕÀú LastID°¡ 11·Î Áõ°¡ÇÑ´Ù. 9->11·Î º¯ÇßÀ¸¹Ç·Î, 10ÀÇ °ªÀÌ OmitList¿¡
/// Ãß°¡µÈ´Ù. ´ÙÀ½À¸·Î 10ÀÌ ¿À¸é ¸®½ºÆ®¿¡ Á¸ÀçÇϹǷÎ, ½ÇÇàÇÑ´Ù. ±×¸®°í
/// ¸®½ºÆ®¿¡¼ µ¥ÀÌÅ͸¦ »èÁ¦ÇÑ´Ù. 12´Â... Á¤»óÀûÀ̹ǷΠ½ÇÇàÇÑ´Ù.
///
/// - <b>10 10 11</b>
/// Á¦ÀÏ Ã³À½ ¿À´Â 10Àº ´ç¿¬È÷ Á¤»óÀûÀ¸·Î ½ÇÇàµÈ´Ù. µÎ¹øÂ°·Î ¿À´Â 10Àº
/// LastID°ª¿¡ ÀÇÇØ¼ ¹«½ÃµÈ´Ù. 11Àº ´Ù½Ã Á¤»óÀûÀ¸·Î ½ÇÇàµÈ´Ù.
10 ÁÖ¼® ¹®ÀÚ¿ ±×´ë·Î ÀÌ¿ëÇϱâ
°¡²û¾¿ ÁÖ¼® ³»ºÎ¿¡ Äڵ带 ³Ö°Å³ª, Ç¥ µîÀ» ÅØ½ºÆ®·Î ±×·Á³Ö´Â °æ¿ì°¡ Àִµ¥, ÀÌ·² °æ¿ì¿¡´Â pre ű׸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù.
/// <pre>
/// Thread::run()
/// {
/// while (m_bContinue)
/// {
/// ...
/// }
/// }
/// </pre>
/// <pre>
/// +-------------+--------------+------+-----+---------+-------+
/// | Field | Type | Null | Key | Default | Extra |
/// +-------------+--------------+------+-----+---------+-------+
/// | ID | varchar(50) | | PRI | | |
/// | Password | varchar(50) | | | | |
/// | ..........................................................|
/// | LoginStatus | int(11) | | | 0 | |
/// +-------------+--------------+------+-----+---------+-------+
/// </pre>
11 ¸â¹ö º¯¼ö/ÇÔ¼ö ±×·ì ÁÖ¼® ´Þ±â
°£´ÜÇÑ ÇÔ¼ö³ª ¸â¹ö º¯¼ö°¡ ¸¹Àº °æ¿ì, ÀÌµé °¢°¢¿¡ ¼³¸íÀ» µû·Î ´Ù´Â °ÍÀÌ ±ÍÂúÀ» ¶§°¡ ÀÖ´Ù. ±×·² ¶§´Â ´ÙÀ½°ú °°Àº ¹æ½ÄÀ¸·Î ÁÖ¼®À» ´Þ¾ÆÁÖ¸é ÁÁ´Ù. ²À ¸â¹ö º¯¼ö³ª ÇÔ¼öÀÏ ÇÊ¿ä´Â ¾ø´Ù. Ŭ·¡½º ¿ÜºÎ¿¡¼µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´Ù¸¸ ±×·ì ³»¿¡ ±×·ìÀ» ´Ù½Ã Áý¾î³ÖÀ» ¼ö´Â ¾ø´Ù. ¾ÈŸ±õ´Ù.
/// \name °´Ã¼ÀÇ º°¸í°ú °ü·ÃµÈ ÇÔ¼öµé
/// \{
/// \brief °´Ã¼ÀÇ º°¸íÀ» ¹ÝȯÇϰųª ¼¼ÆÃÇÑ´Ù.
///
/// °´Ã¼ÀÇ º°¸íÀº »ó´çÈ÷ ¸¹ÀÌ »ç¿ëµÇ´Ï, µÉ ¼ö ÀÖÀ¸¸é ª°Ô Çϵµ·Ï.
string getName() const;
void setName(const string& name);
/// \}
12 Dox ÆÄÀÏ ¹®¹ý
.dox ÆÄÀÏÀ» ÀÌ¿ëÇØ, ¸ÞÀÎ ÆäÀÌÁö³ª ±âŸ ÆäÀÌÁö µîÀ» »ý¼ºÇÒ ¼ö ÀÖ´Ù. ¹¹, ²À ´Ù¸¥ ÆÄÀÏ¿¡ ¾Æ·¡ÀÇ ³»¿ëÀ» Æ÷ÇÔ½Ãų ÇÊ¿ä±îÁö´Â ¾øÁö¸¸, ¼Ò½º¿Í °ü·ÃµÇÁö ¾ÊÀº ³»¿ëÀ» ¼Ò½º¿¡ ±â·ÏÇØµÎ´Â °Íµµ Á» ÂóÂóÇϴϱî. FILE_PATTERN¿¡ *.dox ¸¦ Æ÷ÇÔ½ÃŰ´Â °ÍÀ» ÀØÁö ¸»ÀÚ.
/** @mainpage Common Library
<center>http://somewhere.in.the.web</center>
<hr>
Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö°¡ °ø¿ëÀ¸·Î »ç¿ëÇÏ´Â ¶óÀ̺귯¸® ÁßÀÇ Çϳª·Î¼,
ÁÖ·Î µð¹ö±ë °ü·Ã ±â´ÉÀ̳ª °£´ÜÇÑ À¯Æ¿¸®Æ¼ ±â´ÉµéÀ» Æ÷ÇÔÇÑ´Ù.
Àüü ÇÁ·ÎÁ§Æ®ÀÇ °¡Àå º£À̽º°¡ µÇ´Â ¶óÀ̺귯¸®À̹ǷÎ, °ÅÀÇ
¸ðµç ¶óÀ̺귯¸®³ª ½ÇÇà ÆÄÀÏ ÇÁ·ÎÁ§Æ®¿¡¼ ÀÌ ¶óÀ̺귯¸®¸¦ ÂüÁ¶ÇÑ´Ù.
±×·¯¹Ç·Î ¾µµ¥¾ø´Â ±â´ÉÀ» Æ÷ÇÔ½ÃÄѼ µ¢Ä¡¸¦ ºÒ¸®Áö ¸»°í,
¸ðµÎ°¡ »ç¿ëÇÏ´Â ±â´É¸¸À» °¡Áú ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÑ´Ù.
@ref Notes
*/
/**
@page Notes ÁÖÀÇÇÒ Á¡
@section First What is First?
Çϳª¸é ÇϳªÁö µÑÀ̰ڴÀ³Ä...
@section Second What is Second?
µÑÀÌ¸é µÑÀÌÁö ¼ÂÀ̰ڴÀ³Ä?
*/
SeriousMoin v1 (koMoinMoin 1.0a4 Modified)