libiViaCore
5.4.0
Introduction
LibiViaCore is a free C++ library containing a diverse set of utility functions and classes developed by the iVia Project and distributed under the terms of the GNU LGPL (Lesser General Public License). Please see Installing libiViaCore and Configuring libiViaCore for Installation and Configuration details.
LibiViaCore is supporting software for the iVia Internet Portal Software and other iVia projects. libiViaCore contains well-documented functions and classes like:
- Timer management. (see TimerUtil)
- Time formatting. (see TimeUtil)
- Socket programming. (see SocketUtil)
- HTML parsing. (see HtmlUtil and HtmlParser)
- Smart pointer support. (see RefCountedPtr)
- Event based file descriptors. (see Epoll)
- Exception handling with GDB stack trace. (see Exception and StackTrace)
- Statistical tools for exponential averaging. (see ExpAverage)
- Text string manipulations. (see StringUtil)
- CGI programming. (see WebUtil)
- Simplified SQL database programming. (see DbConnection and DbRow and DbUtil and SqlUtil)
- Data compression. (see GzStream)
- Directory and file processing. (see FileUtil and Directory)
- Powerful configuration file handling. (see IniFile)
- HTTP header processing. (see WebUtil)
- DNS lookup support with timeouts. (see DnsUtil and DnsServerPool)
- Simple wrapper class for Perl-compatible regular expressions. (see PerlCompatRegExp)
- robots.txt processing class. (see RobotsDotTxt)
- MARC record processing. (see MarcRecord and MarcUtil)
- XML generation and parsing. (see XmlParser and XmlWriter)
- UNIX process utility functions. (see ProcessUtil)
- Logging classes. (see Logger)
- Simple Web crawler for a single Web site. (see Crawler)
- Directory tree traversal. (see Directory)
- Word stemming. (see Stemmer)
- Generic time limit support. (see TimeLimit)
- Powerful URL processing. (see Url and UrlUtil)
- Random number generation. (see Random)
- Regression testing utility.
- Text template macro processor supporting conditionals and simple expressions. (see Template)
- Threading support utility classes. (see ThreadUtil)
- File locking class. (see FileLocker)
- Web graph analysis class. (see WebGraphAnalyzer)
- Media-type determination. (see MediaTypeUtil)
- Text encoding conversion. (see TextUtil)
- Email sender class. (see EmailSender)
- Error message processing. (see MsgUtil and Exception and StackTrace)
- Sparse vector class. (see SparseVector)
- Easy to use binary I/O for common cases like built-in types and the std::string class allowing for the creation of portable binary files between 32-bit and 64-bit platforms independent of endianess. (see BinaryIO)
-
...and much more.
Many people who install this software will do so in conjunction with iVia, DataFountains or the Nalanda iVia Focused Crawler. Since libiViaCore is Free Software, you are welcome to reuse the code, in whole or in part, in other projects in accordance with its LGPL copyright notice.