Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
added documentation for first stable release
- Loading branch information
Jason MacLafferty
committed
Feb 14, 2014
1 parent
4e2076a
commit a1d0444
Showing
65 changed files
with
4,599 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,3 +12,4 @@ StringUnitTests/StringUnitTests | |
*.bak | ||
*.save | ||
*.swp | ||
*.*~ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
************************************ | ||
* String README * | ||
************************************ | ||
|
||
************************************ | ||
* General Info * | ||
************************************ | ||
This document README file attempts to provide some basic, helpful information regarding the use of the rich, dynamic string data type implementation for C offered here in the "String" Github repo. | ||
|
||
************************************ | ||
* String Project Objective * | ||
************************************ | ||
The objective for this project was to implement a rich, dynamicly-sized string data type for C. With robust, automatic memory management features built into the library and the string operational functionalities provided with the data type API it is intended to provide a full-blown data type for string data similar to higher level languages such as Python and C#. It was born out of the project author's painful experiences using character arrays to represent strings in C programs. | ||
|
||
************************************ | ||
* Using the String data type for C * | ||
************************************ | ||
To use the data type properly one should follow the following steps: | ||
|
||
1. declare a pointer of type "string_t*" | ||
2. assign the new pointer variable to the result of a function call to either "string_init()" or "string_cust_init()" | ||
*******Note that both functions return the address of a newly allocated and initialized string object in memory. "string_init()" takes no parameters and "string_cust_init()" takes a single parameter indicating the desired initial capacity for the internal character array of the string object represented as a struct. Please additionally note that the string data type initializers return a string_t* pointer instead of just initializing an already allocated object from the programmer. This is understood to be non-conventional behavior from standard written C but was implemented like so in an attempt to abstract as much of the memory management under the hood with out the programmer having to worry about it.******* | ||
3. call any of the functions defined by the API on the string_t* pointer or a collection of them completely forgetting about space and memory size constraints for the internal char array as the library automatically resizes it as necessary to hold the requested data. | ||
4. pass any string_t* pointers used to the cleanup function "string_destroy()" to free memory resources used by the allocated string objects. | ||
|
||
*******Note: the internal fields of the string_t struct are managed automatically by the library and should not be modified directly by the programmer. Read only access to them by the programmer is considered acceptable, but it should rarely be necessary to read any field outside of the "length" field. Modify any of them directly at your own risk--as doing so holds serious risks for memory leaks and undefined behavior with the library. Doing so will require the the programmer to manage all the string_t fields himself--which is the very reason the library was created in the first place--so the programmer would not have to worry about them.******* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,285 @@ | ||
#****************************************************************************** | ||
# Base configuration for doxygen, generated by DoxyBlocks. | ||
# You may change these defaults to suit your purposes. | ||
#****************************************************************************** | ||
|
||
# Doxyfile 1.7.3 | ||
|
||
#--------------------------------------------------------------------------- | ||
# Project related configuration options | ||
#--------------------------------------------------------------------------- | ||
DOXYFILE_ENCODING = UTF-8 | ||
PROJECT_NAME = libString | ||
PROJECT_NUMBER = | ||
PROJECT_BRIEF = | ||
PROJECT_LOGO = | ||
OUTPUT_DIRECTORY = | ||
CREATE_SUBDIRS = NO | ||
OUTPUT_LANGUAGE = English | ||
BRIEF_MEMBER_DESC = YES | ||
REPEAT_BRIEF = YES | ||
ABBREVIATE_BRIEF = | ||
ALWAYS_DETAILED_SEC = NO | ||
INLINE_INHERITED_MEMB = NO | ||
FULL_PATH_NAMES = NO | ||
STRIP_FROM_PATH = | ||
STRIP_FROM_INC_PATH = | ||
SHORT_NAMES = NO | ||
JAVADOC_AUTOBRIEF = NO | ||
QT_AUTOBRIEF = NO | ||
MULTILINE_CPP_IS_BRIEF = NO | ||
INHERIT_DOCS = YES | ||
SEPARATE_MEMBER_PAGES = NO | ||
TAB_SIZE = 8 | ||
ALIASES = | ||
OPTIMIZE_OUTPUT_FOR_C = NO | ||
OPTIMIZE_OUTPUT_JAVA = NO | ||
OPTIMIZE_FOR_FORTRAN = NO | ||
OPTIMIZE_OUTPUT_VHDL = NO | ||
EXTENSION_MAPPING = | ||
BUILTIN_STL_SUPPORT = NO | ||
CPP_CLI_SUPPORT = NO | ||
SIP_SUPPORT = NO | ||
IDL_PROPERTY_SUPPORT = YES | ||
DISTRIBUTE_GROUP_DOC = NO | ||
SUBGROUPING = YES | ||
TYPEDEF_HIDES_STRUCT = NO | ||
SYMBOL_CACHE_SIZE = 0 | ||
#--------------------------------------------------------------------------- | ||
# Build related configuration options | ||
#--------------------------------------------------------------------------- | ||
EXTRACT_ALL = NO | ||
EXTRACT_PRIVATE = NO | ||
EXTRACT_STATIC = NO | ||
EXTRACT_LOCAL_CLASSES = YES | ||
EXTRACT_LOCAL_METHODS = NO | ||
EXTRACT_ANON_NSPACES = NO | ||
HIDE_UNDOC_MEMBERS = NO | ||
HIDE_UNDOC_CLASSES = NO | ||
HIDE_FRIEND_COMPOUNDS = NO | ||
HIDE_IN_BODY_DOCS = NO | ||
INTERNAL_DOCS = NO | ||
CASE_SENSE_NAMES = NO | ||
HIDE_SCOPE_NAMES = NO | ||
SHOW_INCLUDE_FILES = YES | ||
FORCE_LOCAL_INCLUDES = NO | ||
INLINE_INFO = YES | ||
SORT_MEMBER_DOCS = YES | ||
SORT_BRIEF_DOCS = NO | ||
SORT_MEMBERS_CTORS_1ST = NO | ||
SORT_GROUP_NAMES = NO | ||
SORT_BY_SCOPE_NAME = NO | ||
STRICT_PROTO_MATCHING = NO | ||
GENERATE_TODOLIST = YES | ||
GENERATE_TESTLIST = YES | ||
GENERATE_BUGLIST = YES | ||
GENERATE_DEPRECATEDLIST= YES | ||
ENABLED_SECTIONS = | ||
MAX_INITIALIZER_LINES = 30 | ||
SHOW_USED_FILES = YES | ||
SHOW_DIRECTORIES = NO | ||
SHOW_FILES = YES | ||
SHOW_NAMESPACES = YES | ||
FILE_VERSION_FILTER = | ||
LAYOUT_FILE = | ||
#--------------------------------------------------------------------------- | ||
# configuration options related to warning and progress messages | ||
#--------------------------------------------------------------------------- | ||
QUIET = NO | ||
WARNINGS = YES | ||
WARN_IF_UNDOCUMENTED = NO | ||
WARN_IF_DOC_ERROR = YES | ||
WARN_NO_PARAMDOC = YES | ||
WARN_FORMAT = "$file:$line: $text" | ||
WARN_LOGFILE = "/home/jason/SoftDev/C/String/libString/doxygen/doxygen.log" | ||
#--------------------------------------------------------------------------- | ||
# configuration options related to the input files | ||
#--------------------------------------------------------------------------- | ||
INPUT = \ | ||
"../String.h" \ | ||
"../String.c" | ||
INPUT_ENCODING = UTF-8 | ||
FILE_PATTERNS = | ||
RECURSIVE = NO | ||
EXCLUDE = | ||
EXCLUDE_SYMLINKS = NO | ||
EXCLUDE_PATTERNS = | ||
EXCLUDE_SYMBOLS = | ||
EXAMPLE_PATH = | ||
EXAMPLE_PATTERNS = | ||
EXAMPLE_RECURSIVE = NO | ||
IMAGE_PATH = | ||
INPUT_FILTER = | ||
FILTER_PATTERNS = | ||
FILTER_SOURCE_FILES = NO | ||
FILTER_SOURCE_PATTERNS = | ||
#--------------------------------------------------------------------------- | ||
# configuration options related to source browsing | ||
#--------------------------------------------------------------------------- | ||
SOURCE_BROWSER = NO | ||
INLINE_SOURCES = NO | ||
STRIP_CODE_COMMENTS = YES | ||
REFERENCED_BY_RELATION = NO | ||
REFERENCES_RELATION = NO | ||
REFERENCES_LINK_SOURCE = YES | ||
USE_HTAGS = NO | ||
VERBATIM_HEADERS = YES | ||
#--------------------------------------------------------------------------- | ||
# configuration options related to the alphabetical class index | ||
#--------------------------------------------------------------------------- | ||
ALPHABETICAL_INDEX = YES | ||
COLS_IN_ALPHA_INDEX = 5 | ||
IGNORE_PREFIX = | ||
#--------------------------------------------------------------------------- | ||
# configuration options related to the HTML output | ||
#--------------------------------------------------------------------------- | ||
GENERATE_HTML = YES | ||
HTML_OUTPUT = html | ||
HTML_FILE_EXTENSION = .html | ||
HTML_HEADER = | ||
HTML_FOOTER = | ||
HTML_STYLESHEET = | ||
HTML_COLORSTYLE_HUE = 220 | ||
HTML_COLORSTYLE_SAT = 100 | ||
HTML_COLORSTYLE_GAMMA = 80 | ||
HTML_TIMESTAMP = YES | ||
HTML_ALIGN_MEMBERS = YES | ||
HTML_DYNAMIC_SECTIONS = NO | ||
GENERATE_DOCSET = NO | ||
DOCSET_FEEDNAME = "Doxygen generated docs" | ||
DOCSET_BUNDLE_ID = org.doxygen.Project | ||
DOCSET_PUBLISHER_ID = org.doxygen.Publisher | ||
DOCSET_PUBLISHER_NAME = Publisher | ||
GENERATE_HTMLHELP = NO | ||
CHM_FILE = "../libString.chm" | ||
HHC_LOCATION = | ||
GENERATE_CHI = NO | ||
CHM_INDEX_ENCODING = | ||
BINARY_TOC = NO | ||
TOC_EXPAND = NO | ||
GENERATE_QHP = NO | ||
QCH_FILE = | ||
QHP_NAMESPACE = org.doxygen.Project | ||
QHP_VIRTUAL_FOLDER = doc | ||
QHP_CUST_FILTER_NAME = | ||
QHP_CUST_FILTER_ATTRS = | ||
QHP_SECT_FILTER_ATTRS = | ||
QHG_LOCATION = | ||
GENERATE_ECLIPSEHELP = NO | ||
ECLIPSE_DOC_ID = org.doxygen.Project | ||
DISABLE_INDEX = NO | ||
ENUM_VALUES_PER_LINE = 4 | ||
GENERATE_TREEVIEW = YES | ||
USE_INLINE_TREES = NO | ||
TREEVIEW_WIDTH = 250 | ||
EXT_LINKS_IN_WINDOW = NO | ||
FORMULA_FONTSIZE = 10 | ||
FORMULA_TRANSPARENT = YES | ||
USE_MATHJAX = NO | ||
MATHJAX_RELPATH = http://www.mathjax.org/mathjax | ||
SEARCHENGINE = YES | ||
SERVER_BASED_SEARCH = NO | ||
#--------------------------------------------------------------------------- | ||
# configuration options related to the LaTeX output | ||
#--------------------------------------------------------------------------- | ||
GENERATE_LATEX = NO | ||
LATEX_OUTPUT = latex | ||
LATEX_CMD_NAME = latex | ||
MAKEINDEX_CMD_NAME = makeindex | ||
COMPACT_LATEX = NO | ||
PAPER_TYPE = a4 | ||
EXTRA_PACKAGES = | ||
LATEX_HEADER = | ||
PDF_HYPERLINKS = YES | ||
USE_PDFLATEX = YES | ||
LATEX_BATCHMODE = NO | ||
LATEX_HIDE_INDICES = NO | ||
LATEX_SOURCE_CODE = NO | ||
#--------------------------------------------------------------------------- | ||
# configuration options related to the RTF output | ||
#--------------------------------------------------------------------------- | ||
GENERATE_RTF = NO | ||
RTF_OUTPUT = rtf | ||
COMPACT_RTF = NO | ||
RTF_HYPERLINKS = NO | ||
RTF_STYLESHEET_FILE = | ||
RTF_EXTENSIONS_FILE = | ||
#--------------------------------------------------------------------------- | ||
# configuration options related to the man page output | ||
#--------------------------------------------------------------------------- | ||
GENERATE_MAN = NO | ||
MAN_OUTPUT = man | ||
MAN_EXTENSION = .3 | ||
MAN_LINKS = NO | ||
#--------------------------------------------------------------------------- | ||
# configuration options related to the XML output | ||
#--------------------------------------------------------------------------- | ||
GENERATE_XML = NO | ||
XML_OUTPUT = xml | ||
XML_SCHEMA = | ||
XML_DTD = | ||
XML_PROGRAMLISTING = YES | ||
#--------------------------------------------------------------------------- | ||
# configuration options for the AutoGen Definitions output | ||
#--------------------------------------------------------------------------- | ||
GENERATE_AUTOGEN_DEF = NO | ||
#--------------------------------------------------------------------------- | ||
# configuration options related to the Perl module output | ||
#--------------------------------------------------------------------------- | ||
GENERATE_PERLMOD = NO | ||
PERLMOD_LATEX = NO | ||
PERLMOD_PRETTY = YES | ||
PERLMOD_MAKEVAR_PREFIX = | ||
#--------------------------------------------------------------------------- | ||
# Configuration options related to the preprocessor | ||
#--------------------------------------------------------------------------- | ||
ENABLE_PREPROCESSING = YES | ||
MACRO_EXPANSION = YES | ||
EXPAND_ONLY_PREDEF = YES | ||
SEARCH_INCLUDES = YES | ||
INCLUDE_PATH = | ||
INCLUDE_FILE_PATTERNS = | ||
PREDEFINED = WXUNUSED()= | ||
EXPAND_AS_DEFINED = | ||
SKIP_FUNCTION_MACROS = YES | ||
#--------------------------------------------------------------------------- | ||
# Configuration::additions related to external references | ||
#--------------------------------------------------------------------------- | ||
TAGFILES = | ||
GENERATE_TAGFILE = | ||
ALLEXTERNALS = NO | ||
EXTERNAL_GROUPS = YES | ||
PERL_PATH = /usr/bin/perl | ||
#--------------------------------------------------------------------------- | ||
# Configuration options related to the dot tool | ||
#--------------------------------------------------------------------------- | ||
CLASS_DIAGRAMS = NO | ||
MSCGEN_PATH = | ||
HIDE_UNDOC_RELATIONS = YES | ||
HAVE_DOT = NO | ||
DOT_NUM_THREADS = 0 | ||
DOT_FONTNAME = Helvetica | ||
DOT_FONTSIZE = 10 | ||
DOT_FONTPATH = | ||
CLASS_GRAPH = YES | ||
COLLABORATION_GRAPH = YES | ||
GROUP_GRAPHS = YES | ||
UML_LOOK = NO | ||
TEMPLATE_RELATIONS = NO | ||
INCLUDE_GRAPH = YES | ||
INCLUDED_BY_GRAPH = YES | ||
CALL_GRAPH = YES | ||
CALLER_GRAPH = NO | ||
GRAPHICAL_HIERARCHY = YES | ||
DIRECTORY_GRAPH = YES | ||
DOT_IMAGE_FORMAT = png | ||
DOT_PATH = | ||
DOTFILE_DIRS = | ||
MSCFILE_DIRS = | ||
DOT_GRAPH_MAX_NODES = 50 | ||
MAX_DOT_GRAPH_DEPTH = 0 | ||
DOT_TRANSPARENT = NO | ||
DOT_MULTI_TARGETS = NO | ||
GENERATE_LEGEND = YES | ||
DOT_CLEANUP = YES | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
/home/jason/SoftDev/C/String/libString/String.h:11: Warning: Compound string_t is not documented. | ||
/home/jason/SoftDev/C/String/libString/String.h:12: Warning: Member char_array (variable) of class string_t is not documented. | ||
/home/jason/SoftDev/C/String/libString/String.h:13: Warning: Member length (variable) of class string_t is not documented. | ||
/home/jason/SoftDev/C/String/libString/String.h:14: Warning: Member capacity (variable) of class string_t is not documented. |
Oops, something went wrong.