Giter Site home page Giter Site logo

normativetypescpp's Introduction

---------------------------------------------------------
EPICS Base - the central core of a control system toolkit
---------------------------------------------------------

Copyright UChicago Argonne LLC, as Operator of Argonne
National Laboratory.
Copyright (c) 1991-2003 The Regents of the University of
California, as Operator of Los Alamos National Laboratory.

EPICS Base is distributed subject to a Software License
Agreement found in the file LICENSE that is included with
this distribution.

---------------------------------------------------------

Installation and release information can be found in the
various files in the documentation subdirectory.

Additional information about EPICS including mailing list
archives and subscription instructions, documentation and
training materials, additional components, links to other
websites etc. is available on the EPICS home page at
	https://epics.anl.gov/

$Format:%cD$
$Format:%H$
https://code.launchpad.net/epics-base

normativetypescpp's People

Contributors

anjohnson avatar brunoseivam avatar dhickin avatar dirk-zimoch avatar mdavidsaver avatar mrkraimer avatar msekoranja avatar ralphlange avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

normativetypescpp's Issues

Missing LICENSE and COPYRIGHT files

From Andrew Johnson <anj_AT_aps.anl.gov>:

Module is missing LICENSE and COPYRIGHT files which are referred to in source code header comments within the module

Compiler warnings: non-virtual destructor

normativeTypesCPP/include/pv/ntndarrayAttribute.h:40: warning: 'class epics::nt::detail::NTNDArrayAttributeBuilder' has virtual functions but non-virtual destructor
normativeTypesCPP/include/pv/ntattribute.h:40: warning: 'class epics::nt::detail::NTAttributeBuilder' has virtual functions but non-virtual destructor

These trigger warnings in all downstream modules every time the above headers are included.

isCompatible() considered harmful

Fixing isCompatible() is proving quite tedious because of code like the following. note the field[3], which is asserting not just the existence of string 'display.field', but that it is the 4th of 5 fields.

This makes even the slightest change to the display substructure a compatibly break, and would tie my hands wrt. replacing 'display.format'!

Given this, and the grief caused by returning false with no indication of which test has failed, I'm inclined to stub the is*() methods to always return true. Code calling methods documented to return NULL really should be checking for this case (though I know this is often not done).

f = fields[3];
if(names[3].compare("format")!=0) return false;
if(f->getType()!=scalar) return false;
s = static_pointer_cast<const Scalar>(f);
if(s->getScalarType()!=pvString) return false;

"nt" is not a good name for the generated library

This tag introduces ambiguities and is misleading.

I thought this was a Windows configuration mixup when the pvAccess build did not find "libnt.a".
There is also a number theory library that uses the same name.

This will start creating serious trouble when making binary packages, as the package manager will complain, and Linux distributions do not like these name clashes at all.

Given that library names can use an arbitrary number of arbitrary characters, we should be able to find something more unique.

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.