Comments (9)
This can be closed as obsolete.
from gil.
The PR is #21...
from gil.
After adding the patch this simple code still breaks the compliation:
gray1_image_t img;
write_view( "", view( img ), tiff_tag() );
from gil.
Can you post the build command, as well as the error log, please ?
Thanks,
from gil.
1>------ Build started: Project: git_test, Configuration: Debug x64 ------
1> main.cpp
1>d:\boost\boost\gil\color_convert.hpp(235): error C2440: 'return': cannot convert from 'boost::gil::packed_channel_value<1>' to 'boost::gil::packed_dynamic_channel_reference<BitField,1,false>'
1> with
1> [
1> BitField=unsigned char
1> ]
1> d:\boost\boost\gil\color_convert.hpp(235): note: No constructor could take the source type, or constructor overload resolution was ambiguous
1> d:\boost\boost\gil\color_convert.hpp(242): note: see reference to function template instantiation 'boost::gil::packed_dynamic_channel_reference<BitField,1,false> boost::gil::detail::alpha_or_max_impl<Pixel>(const Pixel &,boost::mpl::false_)' being compiled
1> with
1> [
1> BitField=unsigned char,
1> Pixel=boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>
1> ]
1> d:\boost\boost\gil\premultiply.hpp(29): note: see reference to function template instantiation 'boost::gil::packed_dynamic_channel_reference<BitField,1,false> boost::gil::alpha_or_max<SrcP>(const Pixel &)' being compiled
1> with
1> [
1> BitField=unsigned char,
1> SrcP=boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,
1> Pixel=boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>
1> ]
1> d:\boost\boost\mpl\for_each.hpp(78): note: see reference to function template instantiation 'void boost::gil::channel_premultiply<SrcP,DstP>::operator ()<T>(Channel) const' being compiled
1> with
1> [
1> SrcP=boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,
1> DstP=boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>,
1> T=arg,
1> Channel=arg
1> ]
1> d:\boost\boost\mpl\for_each.hpp(78): note: see reference to function template instantiation 'void boost::gil::channel_premultiply<SrcP,DstP>::operator ()<T>(Channel) const' being compiled
1> with
1> [
1> SrcP=boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,
1> DstP=boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>,
1> T=arg,
1> Channel=arg
1> ]
1> d:\boost\boost\mpl\for_each.hpp(105): note: see reference to function template instantiation 'void boost::mpl::aux::for_each_impl<false>::execute<first,last,TransformOp,F>(Iterator *,LastIterator *,TransformFunc *,F)' being compiled
1> with
1> [
1> TransformOp=boost::mpl::identity<boost::mpl::na>,
1> F=boost::gil::channel_premultiply<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>>,
1> Iterator=first,
1> LastIterator=last,
1> TransformFunc=boost::mpl::identity<boost::mpl::na>
1> ]
1> d:\boost\boost\mpl\for_each.hpp(118): note: see reference to function template instantiation 'void boost::mpl::for_each<Sequence,boost::mpl::identity<boost::mpl::na>,F>(F,Sequence *,TransformOp *)' being compiled
1> with
1> [
1> Sequence=src_colour_channels,
1> F=boost::gil::channel_premultiply<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>>,
1> TransformOp=boost::mpl::identity<boost::mpl::na>
1> ]
1> d:\boost\boost\gil\premultiply.hpp(64): note: see reference to function template instantiation 'void boost::mpl::for_each<src_colour_channels,boost::gil::channel_premultiply<SrcP,DstP>>(F,Sequence *)' being compiled
1> with
1> [
1> SrcP=boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,
1> DstP=boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>,
1> F=boost::gil::channel_premultiply<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>>,
1> Sequence=src_colour_channels
1> ]
1> d:\boost\boost\gil\premultiply.hpp(84): note: see reference to function template instantiation 'void boost::gil::premultiply::operator ()<boost::gil::bit_aligned_pixel_reference<BitField,ChannelBitSizes,Layout,false>,boost::gil::packed_pixel<BitField,boost::mpl::vector1<T>,Layout>>(const SrcP &,DstP &) const' being compiled
1> with
1> [
1> BitField=unsigned char,
1> ChannelBitSizes=boost::mpl::vector1_c<unsigned int,1>,
1> Layout=boost::gil::gray_layout_t,
1> T=const boost::gil::packed_channel_reference<unsigned char,0,1,true>,
1> SrcP=boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,
1> DstP=boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>
1> ]
1> d:\boost\boost\gil\premultiply.hpp(82): note: while compiling class template member function 'boost::gil::packed_pixel<BitField,boost::mpl::vector1<T>,Layout> boost::gil::premultiply_deref_fn<const boost::gil::bit_aligned_pixel_reference<BitField,ChannelBitSizes,Layout,false>,DstP>::operator ()(const boost::gil::bit_aligned_pixel_reference<BitField,ChannelBitSizes,Layout,false>) const'
1> with
1> [
1> BitField=unsigned char,
1> T=const boost::gil::packed_channel_reference<unsigned char,0,1,true>,
1> Layout=boost::gil::gray_layout_t,
1> ChannelBitSizes=boost::mpl::vector1_c<unsigned int,1>,
1> DstP=boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>
1> ]
1> d:\boost\boost\gil\pixel_iterator_adaptor.hpp(89): note: see reference to function template instantiation 'boost::gil::packed_pixel<BitField,boost::mpl::vector1<T>,Layout> boost::gil::premultiply_deref_fn<const boost::gil::bit_aligned_pixel_reference<BitField,ChannelBitSizes,Layout,false>,DstP>::operator ()(const boost::gil::bit_aligned_pixel_reference<BitField,ChannelBitSizes,Layout,false>) const' being compiled
1> with
1> [
1> BitField=unsigned char,
1> T=const boost::gil::packed_channel_reference<unsigned char,0,1,true>,
1> Layout=boost::gil::gray_layout_t,
1> ChannelBitSizes=boost::mpl::vector1_c<unsigned int,1>,
1> DstP=boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>
1> ]
1> d:\boost\boost\gil\pixel_iterator_adaptor.hpp(46): note: see reference to class template instantiation 'boost::gil::premultiply_deref_fn<const boost::gil::bit_aligned_pixel_reference<BitField,ChannelBitSizes,Layout,false>,DstP>' being compiled
1> with
1> [
1> BitField=unsigned char,
1> ChannelBitSizes=boost::mpl::vector1_c<unsigned int,1>,
1> Layout=boost::gil::gray_layout_t,
1> DstP=boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>
1> ]
1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility(620): note: see reference to class template instantiation 'boost::gil::dereference_iterator_adaptor<Iterator,Deref>' being compiled
1> with
1> [
1> Iterator=boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>,
1> Deref=boost::gil::premultiply_deref_fn<const boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>>
1> ]
1> d:\boost\boost\gil\locator.hpp(125): note: see reference to class template instantiation 'std::iterator_traits<boost::gil::dereference_iterator_adaptor<Iterator,Deref>>' being compiled
1> with
1> [
1> Iterator=boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>,
1> Deref=boost::gil::premultiply_deref_fn<const boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>>
1> ]
1> d:\boost\boost\gil\locator.hpp(238): note: see reference to class template instantiation 'boost::gil::pixel_2d_locator_base<boost::gil::memory_based_2d_locator<boost::gil::memory_based_step_iterator<boost::gil::dereference_iterator_adaptor<Iterator,Deref>>>,boost::gil::dereference_iterator_adaptor<Iterator,Deref>,StepIterator>' being compiled
1> with
1> [
1> Iterator=boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>,
1> Deref=boost::gil::premultiply_deref_fn<const boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>>,
1> StepIterator=boost::gil::memory_based_step_iterator<boost::gil::dereference_iterator_adaptor<boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>,boost::gil::premultiply_deref_fn<const boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>>>>
1> ]
1> d:\boost\boost\gil\image_view.hpp(73): note: see reference to class template instantiation 'boost::gil::memory_based_2d_locator<boost::gil::memory_based_step_iterator<boost::gil::dereference_iterator_adaptor<Iterator,Deref>>>' being compiled
1> with
1> [
1> Iterator=boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>,
1> Deref=boost::gil::premultiply_deref_fn<const boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>>
1> ]
1> d:\boost\boost\gil\extension\io\formats\tiff\write.hpp(184): note: see reference to class template instantiation 'boost::gil::image_view<boost::gil::memory_based_2d_locator<boost::gil::memory_based_step_iterator<boost::gil::dereference_iterator_adaptor<Iterator,Deref>>>>' being compiled
1> with
1> [
1> Iterator=boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>,
1> Deref=boost::gil::premultiply_deref_fn<const boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,false>,boost::gil::packed_pixel<unsigned char,boost::mpl::vector1<const boost::gil::packed_channel_reference<unsigned char,0,1,true>>,boost::gil::gray_layout_t>>
1> ]
1> d:\boost\boost\gil\extension\io\formats\tiff\write.hpp(147): note: see reference to function template instantiation 'void boost::gil::writer<boost::gil::detail::file_stream_device<boost::gil::tiff_tag>,FormatTag,boost::gil::no_log>::write_data<View>(const View &,std::size_t,const boost::mpl::true_ &)' being compiled
1> with
1> [
1> FormatTag=boost::gil::tiff_tag,
1> View=boost::gil::image_view<boost::gil::memory_based_2d_locator<boost::gil::memory_based_step_iterator<boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>>>>
1> ]
1> d:\boost\boost\gil\extension\io\formats\tiff\write.hpp(144): note: see reference to function template instantiation 'void boost::gil::writer<boost::gil::detail::file_stream_device<boost::gil::tiff_tag>,FormatTag,boost::gil::no_log>::write_data<View>(const View &,std::size_t,const boost::mpl::true_ &)' being compiled
1> with
1> [
1> FormatTag=boost::gil::tiff_tag,
1> View=boost::gil::image_view<boost::gil::memory_based_2d_locator<boost::gil::memory_based_step_iterator<boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>>>>
1> ]
1> d:\boost\boost\gil\extension\io\formats\tiff\write.hpp(125): note: see reference to function template instantiation 'void boost::gil::writer<boost::gil::detail::file_stream_device<boost::gil::tiff_tag>,FormatTag,boost::gil::no_log>::write_view<View>(const View &)' being compiled
1> with
1> [
1> FormatTag=boost::gil::tiff_tag,
1> View=boost::gil::image_view<boost::gil::memory_based_2d_locator<boost::gil::memory_based_step_iterator<boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>>>>
1> ]
1> d:\boost\boost\gil\extension\io\formats\tiff\write.hpp(125): note: see reference to function template instantiation 'void boost::gil::writer<boost::gil::detail::file_stream_device<boost::gil::tiff_tag>,FormatTag,boost::gil::no_log>::write_view<View>(const View &)' being compiled
1> with
1> [
1> FormatTag=boost::gil::tiff_tag,
1> View=boost::gil::image_view<boost::gil::memory_based_2d_locator<boost::gil::memory_based_step_iterator<boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>>>>
1> ]
1> d:\boost\boost\gil\extension\io\detail\write_view.hpp(51): note: see reference to function template instantiation 'void boost::gil::writer<boost::gil::detail::file_stream_device<boost::gil::tiff_tag>,FormatTag,boost::gil::no_log>::apply<View>(const View &)' being compiled
1> with
1> [
1> FormatTag=boost::gil::tiff_tag,
1> View=boost::gil::image_view<boost::gil::memory_based_2d_locator<boost::gil::memory_based_step_iterator<boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>>>>
1> ]
1> d:\boost\boost\gil\extension\io\detail\write_view.hpp(51): note: see reference to function template instantiation 'void boost::gil::writer<boost::gil::detail::file_stream_device<boost::gil::tiff_tag>,FormatTag,boost::gil::no_log>::apply<View>(const View &)' being compiled
1> with
1> [
1> FormatTag=boost::gil::tiff_tag,
1> View=boost::gil::image_view<boost::gil::memory_based_2d_locator<boost::gil::memory_based_step_iterator<boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>>>>
1> ]
1> d:\boost\boost\gil\extension\io\detail\write_view.hpp(113): note: see reference to function template instantiation 'void boost::gil::write_view<writer_t,View>(Writer &,const View &,void *)' being compiled
1> with
1> [
1> View=boost::gil::image_view<boost::gil::memory_based_2d_locator<boost::gil::memory_based_step_iterator<boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>>>>,
1> Writer=writer_t
1> ]
1> c:\users\chhenning\boost\git_test\main.cpp(29): note: see reference to function template instantiation 'void boost::gil::write_view<char[1],boost::gil::image_view<boost::gil::memory_based_2d_locator<boost::gil::memory_based_step_iterator<XIterator>>>,boost::gil::tiff_tag>(const String (&),const View &,const FormatTag &,void *)' being compiled
1> with
1> [
1> XIterator=boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>,
1> String=char [1],
1> View=boost::gil::image_view<boost::gil::memory_based_2d_locator<boost::gil::memory_based_step_iterator<boost::gil::bit_aligned_pixel_iterator<boost::gil::bit_aligned_pixel_reference<unsigned char,boost::mpl::vector1_c<unsigned int,1>,boost::gil::gray_layout_t,true>>>>>,
1> FormatTag=boost::gil::tiff_tag
1> ]
1> d:\boost\boost\bind\placeholders.hpp(54): note: see reference to class template instantiation 'boost::arg<9>' being compiled
1> d:\boost\boost\bind\placeholders.hpp(53): note: see reference to class template instantiation 'boost::arg<8>' being compiled
1> d:\boost\boost\bind\placeholders.hpp(52): note: see reference to class template instantiation 'boost::arg<7>' being compiled
1> d:\boost\boost\bind\placeholders.hpp(51): note: see reference to class template instantiation 'boost::arg<6>' being compiled
1> d:\boost\boost\bind\placeholders.hpp(50): note: see reference to class template instantiation 'boost::arg<5>' being compiled
1> d:\boost\boost\bind\placeholders.hpp(49): note: see reference to class template instantiation 'boost::arg<4>' being compiled
1> d:\boost\boost\bind\placeholders.hpp(48): note: see reference to class template instantiation 'boost::arg<3>' being compiled
1> d:\boost\boost\bind\placeholders.hpp(47): note: see reference to class template instantiation 'boost::arg<2>' being compiled
1> d:\boost\boost\bind\placeholders.hpp(46): note: see reference to class template instantiation 'boost::arg<1>' being compiled
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
from gil.
Maybe better format:
https://pastebin.com/raw/mZsvMQDw
from gil.
Build started: Project: git_test, Configuration: Debug x64
...that doesn't look like b2
output. What command do you use ? Can you please use the ./b2 ...
command-line ? That is what is used on appveyor, and that's what generates the (runtime) failure (which I can reproduce in my Windows VM), which I'd like to understand and fix.
Thanks,
from gil.
When you try to compile tiff_tiled_minisblack_write_test_21-31_32-64.cpp with the macro
BOOST_GIL_IO_USE_TIFF_GRAPHICSMAGICK_TEST_SUITE_IMAGES
from gil.
Can you please use b2
to build ? I don't doubt that in this particular issue I can reproduce this myself by adding -DBOOST_GIL_IO_USE_TIFF_GRAPHICSMAGICK_TEST_SUITE_IMAGES
to the command line, but for all the other work we are doing, it's much simpler to make reproducible test cases if we use a command-line tool, in particular if that's what the CI environments use, too.
from gil.
Related Issues (20)
- Remove C++11 build jobs from CI HOT 2
- Fix wrong pixel channel truncation in binary threshold and truncate threshold HOT 2
- Consider moving channel_convert_to_unsigned out of detail namespace
- color_convert_hsl / gcc-5~c++14: converting to std::tuple from initializer list would use explicit constructor constexpr std::tuple
- color_convert_rgb / gcc-5~c++14: converting to std::tuple from initializer list would use explicit constructor constexpr std::tuple
- color_convert_hsl.cpp and color_convert_rgb.cpp error: no matching constructor for initialization of std::vector<color_t>
- Allow implicit conversion from gray8_ptr_t to gray8_step_ptr_t HOT 3
- g++ 12.1.1 fails to compile Boost.GIL with -std=c++20 HOT 3
- unsued variable warning
- Convolution2d seems to be not correct. HOT 1
- stream device "tell" method absent! HOT 2
- Support for reading/writing 1 bit (black/white) BMP images? HOT 2
- Alpha-blending HOT 4
- Overflow in channel convertion HOT 2
- heap-buffer-overflow when using io-related functions HOT 1
- Running the convolve_2d.cpp test causes an alignment error on ARM
- About Enterprise Managed Users - GitHub Enterprise Cloud Docs
- https://docs.github.com/es/[email protected]/admin/monitoring-managing-and-updating-your-instance/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server HOT 1
- CMake: Dependency on Boost::filesystem is wrong HOT 5
- Use of min and max in Gil conflicts with Win32-API on Windows/MSVC HOT 4
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 gil.