Comments (3)
Thank you for the comment.
The intention why I created two header files was that:
- "crfsuite_api.hpp" can be included multiple times where necessary, but "crfsuite.hpp" must be included only once
- "crfsuite.hpp" has a dependency to C API (crfsuite.h), whereas "crfsuite_api.hpp" has no external dependency (portable). If necessary, we can build a standalone pre-compiled C++ library (only with a single header file "crfsuite_api.hpp") that does not depend to the C header and library of libcrfsuite if necessary.
I should have named "crfsuite.hpp" as "crfsuite_impl.hpp" to clarify this role (and no mention about this role in the documentation :P )
At the same time, it is harmless to have "inline" to every member function in "crfsuite.hpp". I will commit the changes to the HEAD. BTW, I think "inline" should be "static inline" to achieve the goal.
from crfsuite.
My mistake: we cannot specify "static inline" in "crfsuite.hpp". I'm confused with the usage of "static" keyword inside and outside of a class.
from crfsuite.
I understood your intention. And, I correctly compiled my program with "crfsuite_api.hpp" and a cpp file that only includes "crfsuite.hpp".
I think the standalone C++ library is preferable. And, in this case, maybe "inline" is not necessary because I can't link inline methods defined in the object file. I think inline methods can't be referred from other object files.
I should have named "crfsuite.hpp" as "crfsuite_impl.hpp" to clarify this role (and no mention about this role in the documentation :P )
It's a good idea. The role of these files are clear.
from crfsuite.
Related Issues (20)
- Exclude sentence with only O HOT 1
- Character n-grams HOT 2
- R wrapper available at https://github.com/bnosac/crfsuite HOT 1
- lib/cqdb/src/cqdb.c and Wstringop-truncation HOT 3
- mersenne twister HOT 1
- meaning of min_freq HOT 3
- Old lookup3.c file, `k8` undeclared
- Deprecate Python SWIG binding and make python-crfsuite the canonical binding?
- Unable to compile a very simple Tagger with the C++ API HOT 2
- Comparison with SimString
- How do I use glove on crfsuite with python? HOT 2
- Different results across platforms (Windows, Ubuntu, etc...) HOT 2
- Why are my results so different on identical runs?
- *deleted*
- Are transition features conditioned on observations supported?
- How to install lib on the M1 MacBooks? HOT 1
- Forced decoding support for partial labelled sequence ? HOT 2
- Interpreting the CRFsuite Model File
- Hindi Language NER Training format HOT 15
- start with CRF suite in windows HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crfsuite.