Skip to content
Personal C Library
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
graph
io
list
map/hash_iv_map
mpi_libs
priority_queue
queue
set/union_find
stack
string
tree
ui
vector/vector_int
.gitignore
LICENSE
Makefile
README.md
license.bash
todo

README.md

Elf C Library

Naming Standards

In this project, standards are loosely inspired by GNOME's naming standards, which can be accessed in this link.

Macros: e.g. ELF_DIE

Constants: e.g. ELF_GRAPH_ORIENTED

Functions*: e.g. say_hello()

Structs: e.g. ElfGraph

Methods: e.g. elfGraph_someActionToExecute()

Overloaded Methods: e.g. elfGraph_someActionToExecute_overloadType()

File Names: e.g. elf_graph.c

* Functions shouldn't be exported to outside of the file.

Never forget the most important rule: follow same standards as the code that surrounds the code you are adding.

Data Structures' Type and Implementation Ambiguity

It may happen that you will implement the same data structure for different specific types, or using different implementations.

For example, you may implement a generic list for void pointers, and one for integers. Or you may implement a set structure using hashtables and then one using union-find algorithms.

For when these happen, use the following standards:

[namespace][specific_type][specific_implementation][data_structure]

e.g. ElfIntHashSet

You may omit the type or implementation for one of the ambiguous instances. The priority goes to the most generic, which should be void pointer.

You can’t perform that action at this time.