Giter VIP home page Giter VIP logo

carry's Introduction

carry

C generic fixed-length array management.

How to use

Suppose you need an array for type foo:

/* fcarry.h */
#ifndef FCARRY_H
#define FCARRY_H


// Undef for previous definitions
#undef CARRY_H
#undef CSNAME
#undef CFNAME
#undef CTYPE
#undef CSIZE


struct foo {
    int bar;
    int baz;
};


// Name of the struct
#define CSNAME foos

// Function name
#define CFNAME(name) f ## name

// Type variable
#define CTYPE struct foo

// Size of packet
#define CSIZE 8

// Then import
#include "carry.h"


#endif


#endif
/* fcarry.c */
#include "fcarry.h"
#include "carry.c"

Now, include and use it:

#include "fcarry.h"


struct foo tmp;
struct fcarry c;


finit(&c);
fcount(&c);
fisempty(&c);
fisfull(&c);
fcopy(&c, &tmp, i);

Running tests

Install https://github.com/pylover/cutest.

make clean test

carry's People

Contributors

pylover avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.